@eo-sdk/client 10.6.10 → 10.6.12

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 (258) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  3. package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
  4. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  5. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
  6. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  7. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  8. package/app/eo-framework/util/services/utilities.service.d.ts +190 -0
  9. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  10. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  11. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -1
  12. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +3 -3
  13. package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
  14. package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +2 -1
  15. package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
  16. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -1
  17. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
  18. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +10 -3
  19. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
  20. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +7 -7
  21. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
  22. package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
  23. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  24. package/esm2020/app/eo-framework/util/services/utilities.service.mjs +4 -1
  25. package/fesm2015/eo-sdk-client.mjs +74 -46
  26. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  27. package/fesm2020/eo-sdk-client.mjs +74 -46
  28. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  29. package/misc/scripts/exclude-core-ng-package.js +11 -0
  30. package/misc/scripts/prebuild-about-state.js +2 -3
  31. package/package.json +3 -11
  32. package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
  33. package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
  34. package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
  35. package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
  36. package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
  37. package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
  38. package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
  39. package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
  40. package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
  41. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
  42. package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
  43. package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
  44. package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
  45. package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
  46. package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
  47. package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
  48. package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
  49. package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
  50. package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
  51. package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
  52. package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -138
  53. package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
  54. package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
  55. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
  56. package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
  57. package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
  58. package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
  59. package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
  60. package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
  61. package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
  62. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
  63. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
  64. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
  65. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
  66. package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
  67. package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -360
  68. package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
  69. package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
  70. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
  71. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
  72. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
  73. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
  74. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
  75. package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
  76. package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
  77. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
  78. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
  79. package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
  80. package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
  81. package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
  82. package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
  83. package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
  84. package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
  85. package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
  86. package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
  87. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
  88. package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
  89. package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
  90. package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -484
  91. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
  92. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
  93. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
  94. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
  95. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
  96. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
  97. package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
  98. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
  99. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
  100. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
  101. package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
  102. package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
  103. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
  104. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
  105. package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
  106. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6124
  107. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  108. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6139
  109. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  110. package/projects/eo-sdk/core/README.md +0 -113
  111. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
  112. package/projects/eo-sdk/core/index.d.ts +0 -6
  113. package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
  114. package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
  115. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
  116. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
  117. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
  118. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
  119. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
  120. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
  121. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
  122. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
  123. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
  124. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
  125. package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
  126. package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
  127. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
  128. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
  129. package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
  130. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
  131. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
  132. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
  133. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
  134. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
  135. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
  136. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
  137. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
  138. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
  139. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
  140. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
  141. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
  142. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
  143. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
  144. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
  145. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
  146. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
  147. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
  148. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
  149. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
  150. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
  151. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
  152. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
  153. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
  154. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
  155. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
  156. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
  157. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
  158. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
  159. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
  160. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
  161. package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
  162. package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
  163. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
  164. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
  165. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
  166. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
  167. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
  168. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
  169. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
  170. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
  171. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
  172. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
  173. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
  174. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
  175. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
  176. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
  177. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
  178. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
  179. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
  180. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
  181. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
  182. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
  183. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
  184. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
  185. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
  186. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
  187. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
  188. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
  189. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
  190. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
  191. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
  192. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
  193. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
  194. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
  195. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
  196. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
  197. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
  198. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
  199. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
  200. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
  201. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
  202. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
  203. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
  204. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
  205. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
  206. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
  207. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
  208. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
  209. package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
  210. package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
  211. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
  212. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
  213. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
  214. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
  215. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
  216. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
  217. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
  218. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
  219. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
  220. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
  221. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
  222. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
  223. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
  224. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
  225. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
  226. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
  227. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
  228. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
  229. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
  230. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
  231. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
  232. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
  233. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
  234. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
  235. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
  236. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
  237. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
  238. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
  239. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
  240. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
  241. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
  242. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
  243. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
  244. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
  245. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
  246. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
  247. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
  248. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
  249. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
  250. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
  251. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
  252. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
  253. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
  254. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
  255. package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
  256. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
  257. package/projects/eo-sdk/core/public_api.d.ts +0 -82
  258. package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
@@ -1,345 +0,0 @@
1
- import { forkJoin as observableForkJoin, of, ReplaySubject } from 'rxjs';
2
- import { catchError, tap, map, switchMap } from 'rxjs/operators';
3
- import { Injectable } from '@angular/core';
4
- import { ObjectType } from '../../model/object-type.model';
5
- import * as _ from 'lodash';
6
- import { Utils } from '../../util/utils';
7
- import { EnaioEvent } from '../events/events';
8
- import moment from 'moment';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../backend/backend.service";
11
- import * as i2 from "../logger/logger";
12
- import * as i3 from "../events/event.service";
13
- import * as i4 from "../cache/app-cache.service";
14
- /**
15
- * Collection of System Services
16
- */
17
- export class SystemService {
18
- constructor(backend, logger, eventService, appCache) {
19
- this.backend = backend;
20
- this.logger = logger;
21
- this.eventService = eventService;
22
- this.appCache = appCache;
23
- this.systemSource = new ReplaySubject();
24
- this.system$ = this.systemSource.asObservable();
25
- // session cache for object type forms
26
- this.objectTypeForms = [];
27
- this.cachedRoles = [];
28
- this.eventService.on(EnaioEvent.SYSTEM_STATUS_SCHEMA_CHANGED).subscribe(() => {
29
- this.fetchSystemDefinition(this.user);
30
- });
31
- }
32
- set system(s) {
33
- this._system = s;
34
- }
35
- get system() {
36
- return JSON.parse(JSON.stringify(this._system));
37
- }
38
- /**
39
- * Gets all ObjectTypes
40
- *
41
- * @returns An array containing all object types
42
- */
43
- getObjectTypes() {
44
- return this.system.types;
45
- }
46
- /**
47
- * Gets an ObjectType by name.
48
- *
49
- * @param objectTypeName The name of the object type
50
- * @returns the ObjectType matching the given name
51
- */
52
- getObjectType(objectTypeName) {
53
- return this.system.types.find(t => t.name === objectTypeName);
54
- }
55
- /**
56
- * Get form elements from form model. This is useful if you have to fetch them
57
- * for a special situation like SEARCH
58
- * @param objectTypeName ObjectType to fetch elements for
59
- * @param situation Form model situation to be fetched
60
- * @param isContextType Flag indicating that the form model should be fetched for a context mode
61
- */
62
- getFormElementsFromFormModel(objectTypeName, situation, isContextType) {
63
- return this.getObjectTypeForm(objectTypeName, situation, isContextType ? 'CONTEXT' : null).pipe(switchMap(model => {
64
- const elements = [];
65
- this.processFormModelElements(model, elements);
66
- return of(elements);
67
- }));
68
- }
69
- processFormModelElements(model, elements) {
70
- model.elements.forEach(e => {
71
- if (e.type !== "o2mGroup" && e.type !== "o2mGroupStack") {
72
- elements.push(e);
73
- }
74
- else if (e.elements && e.elements.length) {
75
- this.processFormModelElements(e, elements);
76
- }
77
- });
78
- }
79
- /**
80
- * Checks whether or not the given type implements a given supertype
81
- * @param type Type to be checked
82
- * @param superTypeName Name of the supertype
83
- */
84
- implementsType(type, superTypeName) {
85
- return type.name === superTypeName || (type.implements && type.implements.indexOf(superTypeName) !== -1);
86
- }
87
- /**
88
- * Gets a codesystem
89
- *
90
- * @param id The codesystems id
91
- * @returns The codesystem object matching the given id
92
- */
93
- getCodesystem(id) {
94
- return this.system.codesystems.find(t => t.id === id || t.name === id);
95
- }
96
- /**
97
- * Get the form model of an object type.
98
- *
99
- * @param objectTypeName The object type name
100
- * @param situation The form situation to be fetched
101
- * @param mode Form mode to fetch (e.g. CONTEXT)
102
- * @returns The object type form model
103
- */
104
- getObjectTypeForm(objectTypeName, situation, mode) {
105
- /** check if we have a cached form first */
106
- let cachedForm;
107
- let i = 0;
108
- while (!cachedForm && i < this.objectTypeForms.length) {
109
- if (this.objectTypeForms[i].name === objectTypeName &&
110
- this.objectTypeForms[i].mode === mode &&
111
- this.objectTypeForms[i].situation === situation) {
112
- cachedForm = this.objectTypeForms[i];
113
- }
114
- i++;
115
- }
116
- if (cachedForm) {
117
- /** return a clone of the cached model as otherwise model changes will be added to the chached model */
118
- return of(_.cloneDeep(cachedForm));
119
- }
120
- else {
121
- let uri = `/ui/form/${objectTypeName}?situation=${situation}`;
122
- uri += !!mode ? `&formmode=${mode}` : '';
123
- /** fetch and cache the requested form, if no cached version was found */
124
- return this.backend.getViaTempCache(uri, () => this.backend
125
- .getJson(uri)
126
- .pipe(tap((model) => this.objectTypeForms.push(_.cloneDeep(model)))));
127
- }
128
- }
129
- /**
130
- * Fetches the backends system definition and updates system$ Observable.
131
- * Subscribe to the system$ observable instead of calling this function, otherwise you'll trigger fetching the
132
- * system definition every time.
133
- *
134
- * @param user The user to load the system definition for
135
- * @returns true when successfull
136
- */
137
- getSystemDefinition(user) {
138
- this.user = user;
139
- // todo: temporary: OrgChanges could not be recognized but affect object definition
140
- return this.fetchSystemDefinition(user);
141
- // todo: enable again when OrgChanges are recognizable (DO NOT DELETE!)
142
- // // is there a cached version
143
- // return this.appCache
144
- // .getItem(this.appCache.SYSTEM_DEFINITION)
145
- // .catch((error) => {
146
- // this.logger.error('Error fetching cached version of system definition.', error);
147
- // return this.fetchSystemDefinition(user);
148
- // })
149
- // .flatMap((cachedSystemDefinition: any) => {
150
- //
151
- // // yes? then check if it's up to date
152
- // if (cachedSystemDefinition) {
153
- //
154
- // if (
155
- // user.schema.version !== cachedSystemDefinition.info.version ||
156
- // user.id !== cachedSystemDefinition.info.user ||
157
- // user.getSchemaLocale() !== cachedSystemDefinition.info.locale
158
- // ) {
159
- // return this.fetchSystemDefinition(user);
160
- // } else {
161
- // // cache is up to date. return the cached one
162
- // this.logger.debug('System definition is up to date, using cached version.', cachedSystemDefinition);
163
- // this.system = cachedSystemDefinition;
164
- // this.systemSource.next(this.system);
165
- // return of(true);
166
- // }
167
- // } else {
168
- // // no cached systemDefinition found
169
- // return this.fetchSystemDefinition(user);
170
- // }
171
- // });
172
- }
173
- /**
174
- * Creates a value depending on a given Type
175
- *
176
- * @param string valueType
177
- * @returns any
178
- */
179
- getDefaultValue(valueType) {
180
- let defaultValue;
181
- switch (valueType) {
182
- case 'CURRENT_USER': {
183
- defaultValue = this.user.name;
184
- break;
185
- }
186
- case 'CURRENT_USER_NAME': {
187
- defaultValue = this.user.title;
188
- break;
189
- }
190
- case 'CURRENT_DATETIME': {
191
- defaultValue = new Date();
192
- break;
193
- }
194
- case 'CURRENT_DATE': {
195
- defaultValue = moment().startOf('day').format('yyyy-MM-DD');
196
- break;
197
- }
198
- case 'YEAR': {
199
- defaultValue = moment().year();
200
- break;
201
- }
202
- case 'MONTH': {
203
- defaultValue = moment().month() + 1;
204
- break;
205
- }
206
- case 'DAY': {
207
- defaultValue = moment().date();
208
- break;
209
- }
210
- case 'HOUR': {
211
- defaultValue = moment().hour();
212
- break;
213
- }
214
- case 'MINUTE': {
215
- defaultValue = moment().minute();
216
- break;
217
- }
218
- case 'SECOND': {
219
- defaultValue = moment().second();
220
- break;
221
- }
222
- case 'WEEK_OF_YEAR': {
223
- defaultValue = moment().isoWeek();
224
- break;
225
- }
226
- case 'FIRST_DAY_OF_WEEK': {
227
- defaultValue = moment().startOf('isoWeek').toDate();
228
- break;
229
- }
230
- case 'FIRST_DAY_OF_MONTH': {
231
- defaultValue = moment().startOf('month').toDate();
232
- break;
233
- }
234
- case 'FIRST_DAY_OF_YEAR': {
235
- defaultValue = moment().startOf('year').toDate();
236
- break;
237
- }
238
- }
239
- return defaultValue;
240
- }
241
- /**
242
- * Fetches the system definition from the server. Provided params are used for storing the
243
- * recent version in cache.
244
- *
245
- * @param user The user to fetch the system definition for
246
- * @return boolean
247
- */
248
- fetchSystemDefinition(user) {
249
- const fetches = [
250
- this.backend.getJson('/system/type/list?elements=true&basetypes=true'),
251
- this.backend.getJson('/system/cs/list?elements=true')
252
- ];
253
- return observableForkJoin(fetches)
254
- .pipe(catchError(Utils.catch((error) => {
255
- this.logger.error('Error fetching recent version of system definition from server.', error);
256
- this.systemSource.error('Error fetching recent version of system definition from server.');
257
- })), map((data) => {
258
- this.objectTypeForms = [];
259
- const system = {
260
- /**
261
- * info about the current system definition
262
- */
263
- info: {
264
- user: user.id,
265
- locale: user.getSchemaLocale(),
266
- version: user.schema.version
267
- },
268
- /**
269
- * supported backend locales
270
- */
271
- locales: user.schema.supportedLocales,
272
- /**
273
- * object type definitions
274
- */
275
- types: [],
276
- /**
277
- * codesystems cache
278
- */
279
- codesystems: []
280
- };
281
- const types = data[0];
282
- system.types = types.map(t => new ObjectType(t));
283
- system.codesystems = data[1];
284
- this.system = system;
285
- this.systemSource.next(system);
286
- this.logger.debug('Fetched new version of system definition (user: ' + user.id + ', version: ' + user.schema.version + ').');
287
- this.appCache
288
- .setItem(this.appCache.SYSTEM_DEFINITION, system)
289
- .subscribe(() => {
290
- this.logger.debug('Cached recent version');
291
- }, Utils.logError(null, 'Error caching recent version of system definition.'));
292
- return true;
293
- }));
294
- }
295
- /**
296
- * Retrieve an organization object by its ID
297
- * @param id ID of org object
298
- */
299
- getOrganizationObjectById(id) {
300
- return this.backend.getJson(`/organization/id/${id}`);
301
- }
302
- /**
303
- * Fetches the organization object for a given name.
304
- *
305
- * @param name The name to fetch object for
306
- * @returns
307
- */
308
- getOrganizationObject(name) {
309
- return this.getOrganizationObjects([name]).pipe(map(res => res[0]));
310
- }
311
- /**
312
- * Fetches a collection of organization objects
313
- *
314
- * @param names Array of names to fetch objects for
315
- * @returns A Array of Organization Objects
316
- */
317
- getOrganizationObjects(names) {
318
- const toFetch = names.map(name => this.backend.getJson(`/organization/name/${name}`).pipe(catchError(error => of({ id: name, active: false }))));
319
- return observableForkJoin(toFetch);
320
- }
321
- /**
322
- * Fetches a collection of organization roles
323
- *
324
- * @return A Array of Organization Roles
325
- */
326
- getRoles() {
327
- if (this.cachedRoles.length) {
328
- return of(this.cachedRoles);
329
- }
330
- else {
331
- return this.backend
332
- .get('/organization/role')
333
- .pipe(map(o => o), tap(roles => (this.cachedRoles = roles)));
334
- }
335
- }
336
- }
337
- SystemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, deps: [{ token: i1.BackendService }, { token: i2.Logger }, { token: i3.EventService }, { token: i4.AppCacheService }], target: i0.ɵɵFactoryTarget.Injectable });
338
- SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, providedIn: 'root' });
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, decorators: [{
340
- type: Injectable,
341
- args: [{
342
- providedIn: 'root'
343
- }]
344
- }], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i2.Logger }, { type: i3.EventService }, { type: i4.AppCacheService }]; } });
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxFQUFjLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBR3ZDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7OztBQUU1Qjs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBV3hCLFlBQW9CLE9BQXVCLEVBQ3ZCLE1BQWMsRUFDZCxZQUEwQixFQUMxQixRQUF5QjtRQUh6QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFYckMsaUJBQVksR0FBRyxJQUFJLGFBQWEsRUFBTyxDQUFDO1FBQ3pDLFlBQU8sR0FBb0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSxzQ0FBc0M7UUFDOUIsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFFNUIsZ0JB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c2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge2NhdGNoRXJyb3IsIHRhcCwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lPcmdhbml6YXRpb25PYmplY3RzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvb3JnYW5pemF0aW9uLW9iamVjdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi9jYWNoZS9hcHAtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlcic7XG5pbXBvcnQge09iamVjdFR5cGV9IGZyb20gJy4uLy4uL21vZGVsL29iamVjdC10eXBlLm1vZGVsJztcbmltcG9ydCB7RW9Vc2VyfSBmcm9tICcuLi8uLi9tb2RlbC9lby11c2VyLm1vZGVsJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7T3JnUm9sZX0gZnJvbSAnLi4vLi4vbW9kZWwvb3JnLm1vZGVsJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtJQ29kZVN5c3RlbX0gZnJvbSAnLi9zeXN0ZW1kZWZpbml0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge0V2ZW50U2VydmljZX0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtFbmFpb0V2ZW50fSBmcm9tICcuLi9ldmVudHMvZXZlbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIFN5c3RlbSBTZXJ2aWNlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TZXJ2aWNlIHtcblxuICBwcml2YXRlIF9zeXN0ZW07XG4gIHByaXZhdGUgc3lzdGVtU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigpO1xuICBwdWJsaWMgc3lzdGVtJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zeXN0ZW1Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLy8gc2Vzc2lvbiBjYWNoZSBmb3Igb2JqZWN0IHR5cGUgZm9ybXNcbiAgcHJpdmF0ZSBvYmplY3RUeXBlRm9ybXM6IGFueVtdID0gW107XG4gIHByaXZhdGUgdXNlcjogRW9Vc2VyO1xuICBwcml2YXRlIGNhY2hlZFJvbGVzOiBPcmdSb2xlW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyLFxuICAgICAgICAgICAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UpIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5vbihFbmFpb0V2ZW50LlNZU1RFTV9TVEFUVVNfU0NIRU1BX0NIQU5HRUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoU3lzdGVtRGVmaW5pdGlvbih0aGlzLnVzZXIpO1xuICAgIH0pXG4gIH1cblxuICBzZXQgc3lzdGVtKHMpe1xuICAgIHRoaXMuX3N5c3RlbSA9IHM7XG4gIH1cblxuICBnZXQgc3lzdGVtKCl7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fc3lzdGVtKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgT2JqZWN0VHlwZXNcbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgY29udGFpbmluZyBhbGwgb2JqZWN0IHR5cGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0T2JqZWN0VHlwZXMoKTogT2JqZWN0VHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5zeXN0ZW0udHlwZXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBPYmplY3RUeXBlIGJ5IG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBvYmplY3RUeXBlTmFtZSBUaGUgbmFtZSBvZiB0aGUgb2JqZWN0IHR5cGVcbiAgICogQHJldHVybnMgdGhlIE9iamVjdFR5cGUgbWF0Y2hpbmcgdGhlIGdpdmVuIG5hbWVcbiAgICovXG4gIHB1YmxpYyBnZXRPYmplY3RUeXBlKG9iamVjdFR5cGVOYW1lOiBzdHJpbmcpOiBPYmplY3RUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5zeXN0ZW0udHlwZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gb2JqZWN0VHlwZU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBmb3JtIGVsZW1lbnRzIGZyb20gZm9ybSBtb2RlbC4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgdG8gZmV0Y2ggdGhlbVxuICAgKiBmb3IgYSBzcGVjaWFsIHNpdHVhdGlvbiBsaWtlIFNFQVJDSFxuICAgKiBAcGFyYW0gb2JqZWN0VHlwZU5hbWUgT2JqZWN0VHlwZSB0byBmZXRjaCBlbGVtZW50cyBmb3JcbiAgICogQHBhcmFtIHNpdHVhdGlvbiBGb3JtIG1vZGVsIHNpdHVhdGlvbiB0byBiZSBmZXRjaGVkXG4gICAqIEBwYXJhbSBpc0NvbnRleHRUeXBlIEZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBmb3JtIG1vZGVsIHNob3VsZCBiZSBmZXRjaGVkIGZvciBhIGNvbnRleHQgbW9kZVxuICAgKi9cbiAgZ2V0Rm9ybUVsZW1lbnRzRnJvbUZvcm1Nb2RlbChvYmplY3RUeXBlTmFtZTogc3RyaW5nLCBzaXR1YXRpb246IHN0cmluZywgaXNDb250ZXh0VHlwZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T2JqZWN0VHlwZUZvcm0ob2JqZWN0VHlwZU5hbWUsIHNpdHVhdGlvbiwgaXNDb250ZXh0VHlwZSA/ICdDT05URVhUJyA6IG51bGwpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAobW9kZWwgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IFtdO1xuICAgICAgICB0aGlzLnByb2Nlc3NGb3JtTW9kZWxFbGVtZW50cyhtb2RlbCwgZWxlbWVudHMpO1xuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgIH0pKVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRm9ybU1vZGVsRWxlbWVudHMobW9kZWw6IGFueSwgZWxlbWVudHM6IGFueVtdKSB7XG4gICAgbW9kZWwuZWxlbWVudHMuZm9yRWFjaChlID0+IHtcbiAgICAgIGlmKGUudHlwZSAhPT0gXCJvMm1Hcm91cFwiICYmIGUudHlwZSAhPT0gXCJvMm1Hcm91cFN0YWNrXCIpIHtcbiAgICAgICAgZWxlbWVudHMucHVzaChlKTtcbiAgICAgIH0gZWxzZSBpZihlLmVsZW1lbnRzICYmIGUuZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0Zvcm1Nb2RlbEVsZW1lbnRzKGUsIGVsZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgZ2l2ZW4gdHlwZSBpbXBsZW1lbnRzIGEgZ2l2ZW4gc3VwZXJ0eXBlXG4gICAqIEBwYXJhbSB0eXBlIFR5cGUgdG8gYmUgY2hlY2tlZFxuICAgKiBAcGFyYW0gc3VwZXJUeXBlTmFtZSBOYW1lIG9mIHRoZSBzdXBlcnR5cGVcbiAgICovXG4gIHB1YmxpYyBpbXBsZW1lbnRzVHlwZSh0eXBlOiBPYmplY3RUeXBlLCBzdXBlclR5cGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZS5uYW1lID09PSBzdXBlclR5cGVOYW1lIHx8ICh0eXBlLmltcGxlbWVudHMgJiYgdHlwZS5pbXBsZW1lbnRzLmluZGV4T2Yoc3VwZXJUeXBlTmFtZSkgIT09IC0xKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgY29kZXN5c3RlbVxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvZGVzeXN0ZW1zIGlkXG4gICAqIEByZXR1cm5zIFRoZSBjb2Rlc3lzdGVtIG9iamVjdCBtYXRjaGluZyB0aGUgZ2l2ZW4gaWRcbiAgICovXG4gIHB1YmxpYyBnZXRDb2Rlc3lzdGVtKGlkOiBzdHJpbmcpOiBJQ29kZVN5c3RlbSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtLmNvZGVzeXN0ZW1zLmZpbmQodCA9PiB0LmlkID09PSBpZCB8fCB0Lm5hbWUgPT09IGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZvcm0gbW9kZWwgb2YgYW4gb2JqZWN0IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBvYmplY3RUeXBlTmFtZSBUaGUgb2JqZWN0IHR5cGUgbmFtZVxuICAgKiBAcGFyYW0gc2l0dWF0aW9uIFRoZSBmb3JtIHNpdHVhdGlvbiB0byBiZSBmZXRjaGVkXG4gICAqIEBwYXJhbSBtb2RlIEZvcm0gbW9kZSB0byBmZXRjaCAoZS5nLiBDT05URVhUKVxuICAgKiBAcmV0dXJucyBUaGUgb2JqZWN0IHR5cGUgZm9ybSBtb2RlbFxuICAgKi9cbiAgcHVibGljIGdldE9iamVjdFR5cGVGb3JtKG9iamVjdFR5cGVOYW1lOiBzdHJpbmcsIHNpdHVhdGlvbjogc3RyaW5nLCBtb2RlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIC8qKiBjaGVjayBpZiB3ZSBoYXZlIGEgY2FjaGVkIGZvcm0gZmlyc3QgKi9cbiAgICBsZXQgY2FjaGVkRm9ybTtcblxuICAgIGxldCBpID0gMDtcbiAgICB3aGlsZSAoIWNhY2hlZEZvcm0gJiYgaSA8IHRoaXMub2JqZWN0VHlwZUZvcm1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMub2JqZWN0VHlwZUZvcm1zW2ldLm5hbWUgPT09IG9iamVjdFR5cGVOYW1lICYmXG4gICAgICAgIHRoaXMub2JqZWN0VHlwZUZvcm1zW2ldLm1vZGUgPT09IG1vZGUgJiZcbiAgICAgICAgdGhpcy5vYmplY3RUeXBlRm9ybXNbaV0uc2l0dWF0aW9uID09PSBzaXR1YXRpb24pIHtcbiAgICAgICAgY2FjaGVkRm9ybSA9IHRoaXMub2JqZWN0VHlwZUZvcm1zW2ldO1xuICAgICAgfVxuICAgICAgaSsrO1xuICAgIH1cblxuICAgIGlmIChjYWNoZWRGb3JtKSB7XG4gICAgICAvKiogcmV0dXJuIGEgY2xvbmUgb2YgdGhlIGNhY2hlZCBtb2RlbCBhcyBvdGhlcndpc2UgbW9kZWwgY2hhbmdlcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBjaGFjaGVkIG1vZGVsICovXG4gICAgICByZXR1cm4gb2YoXy5jbG9uZURlZXAoY2FjaGVkRm9ybSkpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGxldCB1cmkgPSBgL3VpL2Zvcm0vJHtvYmplY3RUeXBlTmFtZX0/c2l0dWF0aW9uPSR7c2l0dWF0aW9ufWA7XG4gICAgICB1cmkgKz0gISFtb2RlID8gYCZmb3JtbW9kZT0ke21vZGV9YCA6ICcnO1xuXG4gICAgICAvKiogZmV0Y2ggYW5kIGNhY2hlIHRoZSByZXF1ZXN0ZWQgZm9ybSwgaWYgbm8gY2FjaGVkIHZlcnNpb24gd2FzIGZvdW5kICovXG4gICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldFZpYVRlbXBDYWNoZSh1cmksICgpID0+IHRoaXMuYmFja2VuZFxuICAgICAgICAuZ2V0SnNvbih1cmkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgobW9kZWwpID0+IHRoaXMub2JqZWN0VHlwZUZvcm1zLnB1c2goXy5jbG9uZURlZXAobW9kZWwpKSlcbiAgICAgICAgKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIGJhY2tlbmRzIHN5c3RlbSBkZWZpbml0aW9uIGFuZCB1cGRhdGVzIHN5c3RlbSQgT2JzZXJ2YWJsZS5cbiAgICogU3Vic2NyaWJlIHRvIHRoZSBzeXN0ZW0kIG9ic2VydmFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIG90aGVyd2lzZSB5b3UnbGwgdHJpZ2dlciBmZXRjaGluZyB0aGVcbiAgICogc3lzdGVtIGRlZmluaXRpb24gZXZlcnkgdGltZS5cbiAgICpcbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gbG9hZCB0aGUgc3lzdGVtIGRlZmluaXRpb24gZm9yXG4gICAqIEByZXR1cm5zIHRydWUgd2hlbiBzdWNjZXNzZnVsbFxuICAgKi9cbiAgcHVibGljIGdldFN5c3RlbURlZmluaXRpb24odXNlcjogRW9Vc2VyKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgIC8vIHRvZG86IHRlbXBvcmFyeTogT3JnQ2hhbmdlcyBjb3VsZCBub3QgYmUgcmVjb2duaXplZCBidXQgYWZmZWN0IG9iamVjdCBkZWZpbml0aW9uXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHVzZXIpO1xuXG4gICAgLy8gdG9kbzogZW5hYmxlIGFnYWluIHdoZW4gT3JnQ2hhbmdlcyBhcmUgcmVjb2duaXphYmxlIChETyBOT1QgREVMRVRFISlcbiAgICAvLyAvLyBpcyB0aGVyZSBhIGNhY2hlZCB2ZXJzaW9uXG4gICAgLy8gcmV0dXJuIHRoaXMuYXBwQ2FjaGVcbiAgICAvLyAgIC5nZXRJdGVtKHRoaXMuYXBwQ2FjaGUuU1lTVEVNX0RFRklOSVRJT04pXG4gICAgLy8gICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgLy8gICAgIHRoaXMubG9nZ2VyLmVycm9yKCdFcnJvciBmZXRjaGluZyBjYWNoZWQgdmVyc2lvbiBvZiBzeXN0ZW0gZGVmaW5pdGlvbi4nLCBlcnJvcik7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLmZldGNoU3lzdGVtRGVmaW5pdGlvbih1c2VyKTtcbiAgICAvLyAgIH0pXG4gICAgLy8gICAuZmxhdE1hcCgoY2FjaGVkU3lzdGVtRGVmaW5pdGlvbjogYW55KSA9PiB7XG4gICAgLy9cbiAgICAvLyAgICAgLy8geWVzPyB0aGVuIGNoZWNrIGlmIGl0J3MgdXAgdG8gZGF0ZVxuICAgIC8vICAgICBpZiAoY2FjaGVkU3lzdGVtRGVmaW5pdGlvbikge1xuICAgIC8vXG4gICAgLy8gICAgICAgaWYgKFxuICAgIC8vICAgICAgICAgdXNlci5zY2hlbWEudmVyc2lvbiAhPT0gY2FjaGVkU3lzdGVtRGVmaW5pdGlvbi5pbmZvLnZlcnNpb24gfHxcbiAgICAvLyAgICAgICAgIHVzZXIuaWQgIT09IGNhY2hlZFN5c3RlbURlZmluaXRpb24uaW5mby51c2VyIHx8XG4gICAgLy8gICAgICAgICB1c2VyLmdldFNjaGVtYUxvY2FsZSgpICE9PSBjYWNoZWRTeXN0ZW1EZWZpbml0aW9uLmluZm8ubG9jYWxlXG4gICAgLy8gICAgICAgKSB7XG4gICAgLy8gICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFN5c3RlbURlZmluaXRpb24odXNlcik7XG4gICAgLy8gICAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICAgIC8vIGNhY2hlIGlzIHVwIHRvIGRhdGUuIHJldHVybiB0aGUgY2FjaGVkIG9uZVxuICAgIC8vICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1N5c3RlbSBkZWZpbml0aW9uIGlzIHVwIHRvIGRhdGUsIHVzaW5nIGNhY2hlZCB2ZXJzaW9uLicsIGNhY2hlZFN5c3RlbURlZmluaXRpb24pO1xuICAgIC8vICAgICAgICAgdGhpcy5zeXN0ZW0gPSBjYWNoZWRTeXN0ZW1EZWZpbml0aW9uO1xuICAgIC8vICAgICAgICAgdGhpcy5zeXN0ZW1Tb3VyY2UubmV4dCh0aGlzLnN5c3RlbSk7XG4gICAgLy8gICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICB9IGVsc2Uge1xuICAgIC8vICAgICAgIC8vIG5vIGNhY2hlZCBzeXN0ZW1EZWZpbml0aW9uIGZvdW5kXG4gICAgLy8gICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHVzZXIpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdmFsdWUgZGVwZW5kaW5nIG9uIGEgZ2l2ZW4gVHlwZVxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHZhbHVlVHlwZVxuICAgKiBAcmV0dXJucyBhbnlcbiAgICovXG4gIHB1YmxpYyBnZXREZWZhdWx0VmFsdWUodmFsdWVUeXBlOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBkZWZhdWx0VmFsdWU7XG4gICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgIGNhc2UgJ0NVUlJFTlRfVVNFUic6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gdGhpcy51c2VyLm5hbWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQ1VSUkVOVF9VU0VSX05BTUUnOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMudXNlci50aXRsZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdDVVJSRU5UX0RBVEVUSU1FJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0NVUlJFTlRfREFURSc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuc3RhcnRPZignZGF5JykuZm9ybWF0KCd5eXl5LU1NLUREJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnWUVBUic6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkueWVhcigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ01PTlRIJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5tb250aCgpICsgMTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdEQVknOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IG1vbWVudCgpLmRhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdIT1VSJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5ob3VyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnTUlOVVRFJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5taW51dGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTRUNPTkQnOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IG1vbWVudCgpLnNlY29uZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1dFRUtfT0ZfWUVBUic6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuaXNvV2VlaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0ZJUlNUX0RBWV9PRl9XRUVLJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5zdGFydE9mKCdpc29XZWVrJykudG9EYXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnRklSU1RfREFZX09GX01PTlRIJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0ZJUlNUX0RBWV9PRl9ZRUFSJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5zdGFydE9mKCd5ZWFyJykudG9EYXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgc3lzdGVtIGRlZmluaXRpb24gZnJvbSB0aGUgc2VydmVyLiBQcm92aWRlZCBwYXJhbXMgYXJlIHVzZWQgZm9yIHN0b3JpbmcgdGhlXG4gICAqIHJlY2VudCB2ZXJzaW9uIGluIGNhY2hlLlxuICAgKlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciB0byBmZXRjaCB0aGUgc3lzdGVtIGRlZmluaXRpb24gZm9yXG4gICAqIEByZXR1cm4gYm9vbGVhblxuICAgKi9cbiAgZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHVzZXI6IEVvVXNlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXG4gICAgY29uc3QgZmV0Y2hlcyA9IFtcbiAgICAgIHRoaXMuYmFja2VuZC5nZXRKc29uKCcvc3lzdGVtL3R5cGUvbGlzdD9lbGVtZW50cz10cnVlJmJhc2V0eXBlcz10cnVlJyksXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9jcy9saXN0P2VsZW1lbnRzPXRydWUnKVxuICAgIF07XG5cbiAgICByZXR1cm4gb2JzZXJ2YWJsZUZvcmtKb2luKGZldGNoZXMpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihVdGlscy5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3IgZmV0Y2hpbmcgcmVjZW50IHZlcnNpb24gb2Ygc3lzdGVtIGRlZmluaXRpb24gZnJvbSBzZXJ2ZXIuJywgZXJyb3IpO1xuICAgICAgICAgIHRoaXMuc3lzdGVtU291cmNlLmVycm9yKCdFcnJvciBmZXRjaGluZyByZWNlbnQgdmVyc2lvbiBvZiBzeXN0ZW0gZGVmaW5pdGlvbiBmcm9tIHNlcnZlci4nKTtcbiAgICAgICAgfSkpLFxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcblxuICAgICAgICAgIHRoaXMub2JqZWN0VHlwZUZvcm1zID0gW107XG4gICAgICAgICAgY29uc3Qgc3lzdGVtID0ge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBpbmZvIGFib3V0IHRoZSBjdXJyZW50IHN5c3RlbSBkZWZpbml0aW9uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGluZm86IHtcbiAgICAgICAgICAgICAgdXNlcjogdXNlci5pZCxcbiAgICAgICAgICAgICAgbG9jYWxlOiB1c2VyLmdldFNjaGVtYUxvY2FsZSgpLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiB1c2VyLnNjaGVtYS52ZXJzaW9uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBzdXBwb3J0ZWQgYmFja2VuZCBsb2NhbGVzXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGxvY2FsZXM6IHVzZXIuc2NoZW1hLnN1cHBvcnRlZExvY2FsZXMsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIG9iamVjdCB0eXBlIGRlZmluaXRpb25zXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHR5cGVzOiBbXSxcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogY29kZXN5c3RlbXMgY2FjaGVcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29kZXN5c3RlbXM6IFtdXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IHR5cGVzID0gZGF0YVswXTtcbiAgICAgICAgICBzeXN0ZW0udHlwZXMgPSB0eXBlcy5tYXAodCA9PiBuZXcgT2JqZWN0VHlwZSh0KSk7XG4gICAgICAgICAgc3lzdGVtLmNvZGVzeXN0ZW1zID0gZGF0YVsxXTtcblxuICAgICAgICAgIHRoaXMuc3lzdGVtID0gc3lzdGVtO1xuICAgICAgICAgIHRoaXMuc3lzdGVtU291cmNlLm5leHQoc3lzdGVtKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRmV0Y2hlZCBuZXcgdmVyc2lvbiBvZiBzeXN0ZW0gZGVmaW5pdGlvbiAodXNlcjogJyArIHVzZXIuaWQgKyAnLCB2ZXJzaW9uOiAnICsgdXNlci5zY2hlbWEudmVyc2lvbiArICcpLicpO1xuICAgICAgICAgIHRoaXMuYXBwQ2FjaGVcbiAgICAgICAgICAgIC5zZXRJdGVtKHRoaXMuYXBwQ2FjaGUuU1lTVEVNX0RFRklOSVRJT04sIHN5c3RlbSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2FjaGVkIHJlY2VudCB2ZXJzaW9uJyk7XG4gICAgICAgICAgICB9LCBVdGlscy5sb2dFcnJvcihudWxsLCAnRXJyb3IgY2FjaGluZyByZWNlbnQgdmVyc2lvbiBvZiBzeXN0ZW0gZGVmaW5pdGlvbi4nKSk7XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGFuIG9yZ2FuaXphdGlvbiBvYmplY3QgYnkgaXRzIElEXG4gICAqIEBwYXJhbSBpZCBJRCBvZiBvcmcgb2JqZWN0XG4gICAqL1xuICBnZXRPcmdhbml6YXRpb25PYmplY3RCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0SnNvbihgL29yZ2FuaXphdGlvbi9pZC8ke2lkfWApXG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgb3JnYW5pemF0aW9uIG9iamVjdCBmb3IgYSBnaXZlbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSB0byBmZXRjaCBvYmplY3QgZm9yXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRPcmdhbml6YXRpb25PYmplY3QobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRPcmdhbml6YXRpb25PYmplY3RzKFtuYW1lXSkucGlwZShtYXAocmVzID0+IHJlc1swXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBjb2xsZWN0aW9uIG9mIG9yZ2FuaXphdGlvbiBvYmplY3RzXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lcyBBcnJheSBvZiBuYW1lcyB0byBmZXRjaCBvYmplY3RzIGZvclxuICAgKiBAcmV0dXJucyBBIEFycmF5IG9mIE9yZ2FuaXphdGlvbiBPYmplY3RzXG4gICAqL1xuICBnZXRPcmdhbml6YXRpb25PYmplY3RzKG5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8SU9yZ2FuaXphdGlvbk9iamVjdHNbXT4ge1xuICAgIGNvbnN0IHRvRmV0Y2g6IE9ic2VydmFibGU8SU9yZ2FuaXphdGlvbk9iamVjdHM+W10gPSBuYW1lcy5tYXAobmFtZSA9PiB0aGlzLmJhY2tlbmQuZ2V0SnNvbihgL29yZ2FuaXphdGlvbi9uYW1lLyR7bmFtZX1gKS5waXBlKGNhdGNoRXJyb3IoZXJyb3IgPT4gb2Yoe2lkOiBuYW1lLCBhY3RpdmU6IGZhbHNlfSkpKSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0b0ZldGNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgY29sbGVjdGlvbiBvZiBvcmdhbml6YXRpb24gcm9sZXNcbiAgICpcbiAgICogQHJldHVybiBBIEFycmF5IG9mIE9yZ2FuaXphdGlvbiBSb2xlc1xuICAgKi9cbiAgZ2V0Um9sZXMoKTogT2JzZXJ2YWJsZTxPcmdSb2xlW10+IHtcbiAgICBpZiAodGhpcy5jYWNoZWRSb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlZFJvbGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgICAuZ2V0KCcvb3JnYW5pemF0aW9uL3JvbGUnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAobyA9PiBvIGFzIE9yZ1JvbGVbXSksXG4gICAgICAgICAgdGFwKHJvbGVzID0+ICh0aGlzLmNhY2hlZFJvbGVzID0gcm9sZXMgYXMgT3JnUm9sZVtdKSlcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtZGVmaW5pdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbWRlZmluaXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3lzdGVtRGVmaW5pdGlvbiB7XG4gIGNvZGVzeXN0ZW1zOiBhbnlbXTtcbiAgaW5mbzogSVN5c3RlbURlZmluaXRpb25JbmZvO1xuICBsb2NhbGVzOiBJU3lzdGVtRGVmaW5pdGlvbkxvY2FsZXNbXTtcbiAgdHlwZXM6IGFueVtdO1xufVxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN5c3RlbURlZmluaXRpb25JbmZvIHtcbiAgdXNlcjogc3RyaW5nO1xuICBsb2NhbGU6IHN0cmluZztcbiAgdmVyc2lvbjogbnVtYmVyO1xufVxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN5c3RlbURlZmluaXRpb25Mb2NhbGVzIHtcbiAgY29kZTogc3RyaW5nO1xuICBkaXNwbGF5bmFtZTogc3RyaW5nO1xuICBkaXNwbGF5bmFtZWxvY2FsOiBzdHJpbmc7XG59XG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29kZVN5c3RlbSB7XG4gIGFsbGVsZW1lbnRzc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgZW50cmllczogSUNvZGVTeXN0ZW1zRW50cmllc1tdO1xuICBpZDogc3RyaW5nO1xuICBpbm5lcnRpdGxlcGF0dGVybjogc3RyaW5nO1xuICBsZWFmdGl0bGVwYXR0ZXJuOiBzdHJpbmc7XG4gIHVyaTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlcGVyYXRvcjogc3RyaW5nO1xuICBzeXN0ZW06IGJvb2xlYW47XG59XG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29kZVN5c3RlbXNFbnRyaWVzIHtcbiAgYWxsb3dlZG9ubmV3OiBib29sZWFuO1xuICBhbGxvd2Vkb251cGRhdGU6IGJvb2xlYW47XG4gIGRhdGE6IHN0cmluZztcbiAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG4gIHR5cGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,104 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { EnaioEvent } from '../events/events';
3
- import { Subject, timer } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { SystemStatusEnum } from './system.status.enum';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../events/event.service";
8
- import * as i2 from "../backend/backend.service";
9
- import * as i3 from "../cache/app-cache.service";
10
- export class SystemStatusService {
11
- constructor(eventService, backend, appCache, ngZone) {
12
- this.eventService = eventService;
13
- this.backend = backend;
14
- this.appCache = appCache;
15
- this.ngZone = ngZone;
16
- this.statusCacheKey = 'eo.framework.cache.system.status';
17
- this.pollingStopTrigger$ = new Subject();
18
- this.appCache
19
- .getItem(this.statusCacheKey)
20
- .subscribe(status => this.currentStatus = status);
21
- }
22
- init(pollIntervalMilliSeconds = -1) {
23
- if (pollIntervalMilliSeconds > -1) {
24
- this.pollingStopTrigger$ = new Subject();
25
- this.startPolling(pollIntervalMilliSeconds);
26
- }
27
- }
28
- stop() {
29
- this.hasBeenStopped = true;
30
- this.pollingStopTrigger$.next();
31
- this.pollingStopTrigger$.complete();
32
- }
33
- startPolling(pollIntervalMilliSeconds) {
34
- this.ngZone.runOutsideAngular(() => {
35
- let requestSubscription;
36
- timer(0, pollIntervalMilliSeconds)
37
- .pipe(takeUntil(this.pollingStopTrigger$))
38
- .subscribe(() => {
39
- this.ngZone.run(() => {
40
- // temporary fix while status service is disabled
41
- this.eventService.trigger(EnaioEvent.SYSTEM_STATUS_INBOX_CHANGED, {});
42
- });
43
- // if (requestSubscription) {
44
- // requestSubscription.unsubscribe();
45
- // }
46
- // requestSubscription = this.backend
47
- // .get('/status', this.backend.getStatusBase())
48
- // .subscribe((res: ISystemStatus) => {
49
- // this.handleStatusResult(res);
50
- // }, err => {
51
- // this.handleStatusError(err);
52
- // });
53
- });
54
- });
55
- }
56
- handleStatusResult(res) {
57
- const eventsToBeTriggered = [];
58
- Object.keys(res).forEach(val => {
59
- if (this.statusCheck(res, val)) {
60
- eventsToBeTriggered.push({
61
- type: this.statusEvent(val),
62
- data: res
63
- });
64
- }
65
- });
66
- if (eventsToBeTriggered.length || this.hasBeenStopped) {
67
- // if polling has been stopped and get activated again, we need
68
- // angular to detect changes immediately
69
- this.ngZone.run(() => {
70
- eventsToBeTriggered.forEach(e => {
71
- this.eventService.trigger(e.type, e.data);
72
- });
73
- });
74
- }
75
- if (eventsToBeTriggered.length || !this.currentStatus) {
76
- this.currentStatus = res;
77
- this.appCache.setItem(this.statusCacheKey, res);
78
- }
79
- }
80
- handleStatusError(err) {
81
- // execute within zone so components are able to be checked
82
- // Getting a 401 would otherwise not trigger a route change (redirect to login state)
83
- this.ngZone.run(() => {
84
- setTimeout(_ => {
85
- this.stop();
86
- });
87
- });
88
- }
89
- statusEvent(val) {
90
- return EnaioEvent[Object.keys(SystemStatusEnum).find(key => SystemStatusEnum[key] === val)];
91
- }
92
- statusCheck(res, statusType) {
93
- return this.currentStatus && (this.currentStatus[statusType] < res[statusType]);
94
- }
95
- }
96
- SystemStatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemStatusService, deps: [{ token: i1.EventService }, { token: i2.BackendService }, { token: i3.AppCacheService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
97
- SystemStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemStatusService, providedIn: 'root' });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemStatusService, decorators: [{
99
- type: Injectable,
100
- args: [{
101
- providedIn: 'root'
102
- }]
103
- }], ctorParameters: function () { return [{ type: i1.EventService }, { type: i2.BackendService }, { type: i3.AppCacheService }, { type: i0.NgZone }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3N5c3RlbS1zdGF0dXMvc3lzdGVtLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxPQUFPLEVBQWdCLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBS3RELE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsWUFBb0IsWUFBMEIsRUFBVSxPQUF1QixFQUFVLFFBQXlCLEVBQVUsTUFBYztRQUF0SCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTGxJLG1CQUFjLEdBQUcsa0NBQWtDLENBQUM7UUFHcEQsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUdoRCxJQUFJLENBQUMsUUFBUTthQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSx3QkFBd0IsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJ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VyxDQUFDLEdBQVc7UUFDN0IsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFrQixFQUFFLFVBQWtCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7Z0hBL0ZVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQge0VuYWlvRXZlbnR9IGZyb20gJy4uL2V2ZW50cy9ldmVudHMnO1xuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZX0gZnJvbSAnLi4vY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtJU3lzdGVtU3RhdHVzfSBmcm9tICcuL3N5c3RlbS5zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7U3lzdGVtU3RhdHVzRW51bX0gZnJvbSAnLi9zeXN0ZW0uc3RhdHVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TdGF0dXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIGN1cnJlbnRTdGF0dXM6IElTeXN0ZW1TdGF0dXM7XG4gIHByaXZhdGUgc3RhdHVzQ2FjaGVLZXkgPSAnZW8uZnJhbWV3b3JrLmNhY2hlLnN5c3RlbS5zdGF0dXMnO1xuICBwcml2YXRlIGhhc0JlZW5TdG9wcGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcG9sbGluZ1N0b3BUcmlnZ2VyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSwgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSwgcHJpdmF0ZSBhcHBDYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgdGhpcy5hcHBDYWNoZVxuICAgICAgLmdldEl0ZW0odGhpcy5zdGF0dXNDYWNoZUtleSlcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHRoaXMuY3VycmVudFN0YXR1cyA9IHN0YXR1cyk7XG4gIH1cblxuICBpbml0KHBvbGxJbnRlcnZhbE1pbGxpU2Vjb25kcyA9IC0xKSB7XG4gICAgaWYgKHBvbGxJbnRlcnZhbE1pbGxpU2Vjb25kcyA+IC0xKSB7XG4gICAgICB0aGlzLnBvbGxpbmdTdG9wVHJpZ2dlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgdGhpcy5zdGFydFBvbGxpbmcocG9sbEludGVydmFsTWlsbGlTZWNvbmRzKTtcbiAgICB9XG4gIH1cblxuICBzdG9wKCkge1xuICAgIHRoaXMuaGFzQmVlblN0b3BwZWQgPSB0cnVlO1xuICAgIHRoaXMucG9sbGluZ1N0b3BUcmlnZ2VyJC5uZXh0KCk7XG4gICAgdGhpcy5wb2xsaW5nU3RvcFRyaWdnZXIkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UG9sbGluZyhwb2xsSW50ZXJ2YWxNaWxsaVNlY29uZHMpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBsZXQgcmVxdWVzdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgICAgdGltZXIoMCwgcG9sbEludGVydmFsTWlsbGlTZWNvbmRzKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5wb2xsaW5nU3RvcFRyaWdnZXIkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIC8vIHRlbXBvcmFyeSBmaXggd2hpbGUgc3RhdHVzIHNlcnZpY2UgaXMgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5TWVNURU1fU1RBVFVTX0lOQk9YX0NIQU5HRUQsIHt9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIGlmIChyZXF1ZXN0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgLy8gICByZXF1ZXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIC8vIHJlcXVlc3RTdWJzY3JpcHRpb24gPSB0aGlzLmJhY2tlbmRcbiAgICAgICAgICAvLyAgIC5nZXQoJy9zdGF0dXMnLCB0aGlzLmJhY2tlbmQuZ2V0U3RhdHVzQmFzZSgpKVxuICAgICAgICAgIC8vICAgLnN1YnNjcmliZSgocmVzOiBJU3lzdGVtU3RhdHVzKSA9PiB7XG4gICAgICAgICAgLy8gICAgIHRoaXMuaGFuZGxlU3RhdHVzUmVzdWx0KHJlcyk7XG4gICAgICAgICAgLy8gICB9LCBlcnIgPT4ge1xuICAgICAgICAgIC8vICAgICB0aGlzLmhhbmRsZVN0YXR1c0Vycm9yKGVycik7XG4gICAgICAgICAgLy8gICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVN0YXR1c1Jlc3VsdChyZXM6IElTeXN0ZW1TdGF0dXMpIHtcbiAgICBjb25zdCBldmVudHNUb0JlVHJpZ2dlcmVkOiB7IHR5cGU6IHN0cmluZywgZGF0YTogYW55IH1bXSA9IFtdO1xuICAgIE9iamVjdC5rZXlzKHJlcykuZm9yRWFjaCh2YWwgPT4ge1xuICAgICAgaWYgKHRoaXMuc3RhdHVzQ2hlY2socmVzLCB2YWwpKSB7XG4gICAgICAgIGV2ZW50c1RvQmVUcmlnZ2VyZWQucHVzaCh7XG4gICAgICAgICAgdHlwZTogdGhpcy5zdGF0dXNFdmVudCh2YWwpLFxuICAgICAgICAgIGRhdGE6IHJlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChldmVudHNUb0JlVHJpZ2dlcmVkLmxlbmd0aCB8fCB0aGlzLmhhc0JlZW5TdG9wcGVkKSB7XG4gICAgICAvLyBpZiBwb2xsaW5nIGhhcyBiZWVuIHN0b3BwZWQgYW5kIGdldCBhY3RpdmF0ZWQgYWdhaW4sIHdlIG5lZWRcbiAgICAgIC8vIGFuZ3VsYXIgdG8gZGV0ZWN0IGNoYW5nZXMgaW1tZWRpYXRlbHlcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIGV2ZW50c1RvQmVUcmlnZ2VyZWQuZm9yRWFjaChlID0+IHtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKGUudHlwZSwgZS5kYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnRzVG9CZVRyaWdnZXJlZC5sZW5ndGggfHwgIXRoaXMuY3VycmVudFN0YXR1cykge1xuICAgICAgdGhpcy5jdXJyZW50U3RhdHVzID0gcmVzO1xuICAgICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuc3RhdHVzQ2FjaGVLZXksIHJlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGF0dXNFcnJvcihlcnIpIHtcbiAgICAvLyBleGVjdXRlIHdpdGhpbiB6b25lIHNvIGNvbXBvbmVudHMgYXJlIGFibGUgdG8gYmUgY2hlY2tlZFxuICAgIC8vIEdldHRpbmcgYSA0MDEgd291bGQgb3RoZXJ3aXNlIG5vdCB0cmlnZ2VyIGEgcm91dGUgY2hhbmdlIChyZWRpcmVjdCB0byBsb2dpbiBzdGF0ZSlcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdHVzRXZlbnQodmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBFbmFpb0V2ZW50W09iamVjdC5rZXlzKFN5c3RlbVN0YXR1c0VudW0pLmZpbmQoa2V5ID0+IFN5c3RlbVN0YXR1c0VudW1ba2V5XSA9PT0gdmFsKV07XG4gIH1cblxuICBwcml2YXRlIHN0YXR1c0NoZWNrKHJlczogSVN5c3RlbVN0YXR1cywgc3RhdHVzVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN0YXR1cyAmJiAodGhpcy5jdXJyZW50U3RhdHVzW3N0YXR1c1R5cGVdIDwgcmVzW3N0YXR1c1R5cGVdKTtcbiAgfVxufVxuXG4iXX0=
@@ -1,9 +0,0 @@
1
- export var SystemStatusEnum;
2
- (function (SystemStatusEnum) {
3
- SystemStatusEnum["SYSTEM_STATUS_SCHEMA_CHANGED"] = "schemaChangedOn";
4
- SystemStatusEnum["SYSTEM_STATUS_ORG_CHANGED"] = "orgChangedOn";
5
- SystemStatusEnum["SYSTEM_STATUS_SEC_CHANGED"] = "securityChangedOn";
6
- SystemStatusEnum["SYSTEM_STATUS_ACL_CHANGED"] = "aclChangedOn";
7
- SystemStatusEnum["SYSTEM_STATUS_INBOX_CHANGED"] = "inboxChangedOn";
8
- })(SystemStatusEnum || (SystemStatusEnum = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnN0YXR1cy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3N5c3RlbS1zdGF0dXMvc3lzdGVtLnN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIsb0VBQWdELENBQUE7SUFDaEQsOERBQTBDLENBQUE7SUFDMUMsbUVBQStDLENBQUE7SUFDL0MsOERBQTBDLENBQUE7SUFDMUMsa0VBQThDLENBQUE7QUFDaEQsQ0FBQyxFQU5XLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFNM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTeXN0ZW1TdGF0dXNFbnVtIHtcbiAgU1lTVEVNX1NUQVRVU19TQ0hFTUFfQ0hBTkdFRCA9ICdzY2hlbWFDaGFuZ2VkT24nLFxuICBTWVNURU1fU1RBVFVTX09SR19DSEFOR0VEID0gJ29yZ0NoYW5nZWRPbicsXG4gIFNZU1RFTV9TVEFUVVNfU0VDX0NIQU5HRUQgPSAnc2VjdXJpdHlDaGFuZ2VkT24nLFxuICBTWVNURU1fU1RBVFVTX0FDTF9DSEFOR0VEID0gJ2FjbENoYW5nZWRPbicsXG4gIFNZU1RFTV9TVEFUVVNfSU5CT1hfQ0hBTkdFRCA9ICdpbmJveENoYW5nZWRPbidcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnN0YXR1cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2Uvc3lzdGVtLXN0YXR1cy9zeXN0ZW0uc3RhdHVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJU3lzdGVtU3RhdHVzIHtcbiAgYWNsQ2hhbmdlZE9uOiBzdHJpbmc7XG4gIGluYm94Q2hhbmdlZE9uOiBzdHJpbmc7XG4gIG9yZ0NoYW5nZWRPbjogc3RyaW5nO1xuICBzY2hlbWFDaGFuZ2VkT246IHN0cmluZztcbiAgc2VjdXJpdHlDaGFuZ2VkT246IHN0cmluZztcbn1cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import { Utils } from '../../util/utils';
4
- import { CORE_CONFIG } from '../../config/core-init.tokens';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../user/user.service";
8
- import * as i3 from "../../config/core-config";
9
- /**
10
- * The Upload Service is provides access to Upload data (files)
11
- */
12
- export class UploadService {
13
- /**
14
- * @ignore
15
- */
16
- constructor(coreConfig, http, userService) {
17
- this.coreConfig = coreConfig;
18
- this.http = http;
19
- this.userService = userService;
20
- }
21
- /**
22
- * Uploads files.
23
- *
24
- * @param uri Upload destination uri
25
- * @param files Files to be uploaded
26
- * @returns resolved by the response of the upload destination
27
- */
28
- upload(uri, files) {
29
- const formData = new FormData();
30
- const headers = new HttpHeaders({ 'Accept-Language': this.userService.getCurrentUser().getClientLocale() });
31
- files.forEach(file => formData.append('files[]', file, Utils.encodeFileName(file.name)));
32
- return this.http.post(uri, formData, { headers, withCredentials: this.coreConfig.withCredentials });
33
- }
34
- }
35
- UploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UploadService, deps: [{ token: CORE_CONFIG }, { token: i1.HttpClient }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
36
- UploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UploadService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UploadService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }], ctorParameters: function () { return [{ type: i3.CoreConfig, decorators: [{
43
- type: Inject,
44
- args: [CORE_CONFIG]
45
- }] }, { type: i1.HttpClient }, { type: i2.UserService }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvdXBsb2FkL3VwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBYSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7OztBQUcxRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOztPQUVHO0lBQ0gsWUFDOEIsVUFBc0IsRUFDMUMsSUFBZ0IsRUFBVSxXQUF3QjtRQUQ5QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUM1RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQWdCLElBQUksV0FBVyxDQUFDLEVBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDdkgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQzs7MEdBckJVLGFBQWEsa0JBS2QsV0FBVzs4R0FMVixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uL3VzZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtDb3JlQ29uZmlnfSBmcm9tICcuLi8uLi9jb25maWcvY29yZS1jb25maWcnO1xuaW1wb3J0IHtDT1JFX0NPTkZJR30gZnJvbSAnLi4vLi4vY29uZmlnL2NvcmUtaW5pdC50b2tlbnMnO1xuXG5cbi8qKlxuICogVGhlIFVwbG9hZCBTZXJ2aWNlIGlzIHByb3ZpZGVzIGFjY2VzcyB0byBVcGxvYWQgZGF0YSAoZmlsZXMpXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZFNlcnZpY2Uge1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvcmVDb25maWc6IENvcmVDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZHMgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSB1cmkgVXBsb2FkIGRlc3RpbmF0aW9uIHVyaVxuICAgKiBAcGFyYW0gZmlsZXMgRmlsZXMgdG8gYmUgdXBsb2FkZWRcbiAgICogQHJldHVybnMgcmVzb2x2ZWQgYnkgdGhlIHJlc3BvbnNlIG9mIHRoZSB1cGxvYWQgZGVzdGluYXRpb25cbiAgICovXG4gIHVwbG9hZCh1cmk6IHN0cmluZywgZmlsZXM6IEZpbGVbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBjb25zdCBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7J0FjY2VwdC1MYW5ndWFnZSc6IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5nZXRDbGllbnRMb2NhbGUoKX0pO1xuICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGVzW10nLCBmaWxlLCBVdGlscy5lbmNvZGVGaWxlTmFtZShmaWxlLm5hbWUpKSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVyaSwgZm9ybURhdGEsIHtoZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29yZUNvbmZpZy53aXRoQ3JlZGVudGlhbHN9KTtcbiAgfVxufVxuIl19