@eo-sdk/client 10.6.11 → 10.6.13

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 (245) hide show
  1. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  3. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
  4. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  5. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  6. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -1
  7. package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
  8. package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
  9. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -1
  10. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
  11. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +10 -3
  12. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  13. package/fesm2015/eo-sdk-client.mjs +36 -11
  14. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  15. package/fesm2020/eo-sdk-client.mjs +36 -11
  16. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  17. package/misc/scripts/exclude-core-ng-package.js +11 -0
  18. package/package.json +2 -10
  19. package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
  20. package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
  21. package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
  22. package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
  23. package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
  24. package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
  25. package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
  26. package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
  27. package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
  28. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
  29. package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
  30. package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
  31. package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
  32. package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
  33. package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
  34. package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
  35. package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
  36. package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
  37. package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
  38. package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
  39. package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -138
  40. package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
  41. package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
  42. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
  43. package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
  44. package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
  45. package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
  46. package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
  47. package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
  48. package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
  49. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
  50. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
  51. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
  52. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
  53. package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
  54. package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -360
  55. package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
  56. package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
  57. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
  58. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
  59. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
  60. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
  61. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
  62. package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
  63. package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
  64. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
  65. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
  66. package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
  67. package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
  68. package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
  69. package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
  70. package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
  71. package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
  72. package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
  73. package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
  74. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
  75. package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
  76. package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
  77. package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -484
  78. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
  79. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
  80. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
  81. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
  82. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
  83. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
  84. package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
  85. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
  86. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
  87. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
  88. package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
  89. package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
  90. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
  91. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
  92. package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
  93. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6124
  94. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  95. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6139
  96. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  97. package/projects/eo-sdk/core/README.md +0 -113
  98. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
  99. package/projects/eo-sdk/core/index.d.ts +0 -6
  100. package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
  101. package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
  102. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
  103. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
  104. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
  105. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
  106. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
  107. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
  108. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
  109. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
  110. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
  111. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
  112. package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
  113. package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
  114. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
  115. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
  116. package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
  117. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
  118. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
  119. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
  120. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
  121. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
  122. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
  123. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
  124. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
  125. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
  126. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
  127. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
  128. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
  129. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
  130. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
  131. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
  132. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
  133. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
  134. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
  135. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
  136. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
  137. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
  138. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
  139. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
  140. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
  141. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
  142. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
  143. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
  144. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
  145. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
  146. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
  147. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
  148. package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
  149. package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
  150. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
  151. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
  152. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
  153. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
  154. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
  155. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
  156. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
  157. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
  158. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
  159. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
  160. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
  161. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
  162. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
  163. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
  164. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
  165. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
  166. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
  167. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
  168. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
  169. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
  170. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
  171. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
  172. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
  173. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
  174. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
  175. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
  176. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
  177. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
  178. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
  179. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
  180. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
  181. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
  182. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
  183. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
  184. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
  185. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
  186. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
  187. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
  188. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
  189. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
  190. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
  191. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
  192. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
  193. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
  194. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
  195. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
  196. package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
  197. package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
  198. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
  199. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
  200. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
  201. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
  202. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
  203. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
  204. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
  205. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
  206. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
  207. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
  208. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
  209. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
  210. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
  211. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
  212. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
  213. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
  214. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
  215. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
  216. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
  217. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
  218. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
  219. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
  220. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
  221. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
  222. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
  223. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
  224. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
  225. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
  226. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
  227. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
  228. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
  229. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
  230. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
  231. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
  232. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
  233. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
  234. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
  235. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
  236. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
  237. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
  238. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
  239. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
  240. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
  241. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
  242. package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
  243. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
  244. package/projects/eo-sdk/core/public_api.d.ts +0 -82
  245. 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 { cloneDeep } from 'lodash-es';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxFQUFjLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHdkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7O0FBRTVCOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFXeEIsWUFBb0IsT0FBdUIsRUFDdkIsTUFBYyxFQUNkLFlBQTBCLEVBQzFCLFFBQXlCO1FBSHpCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVhyQyxpQkFBWSxHQUFHLElBQUksYUFBYSxFQUFPLENBQUM7UUFDekMsWUFBTyxHQUFvQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRW5FLHNDQUFzQztRQUM5QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUU1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QUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxzQkFBc0IsQ0FBQyxLQUFlO1FBQ3BDLE1BQU0sT0FBTyxHQUF1QyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkwsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsR0FBRyxDQUFDLG9CQUFvQixDQUFDO2lCQUN6QixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBYyxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFrQixDQUFDLENBQUMsQ0FDdEQsQ0FBQztTQUNMO0lBQ0gsQ0FBQzs7MEdBcldVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiwgb2YsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge2NhdGNoRXJyb3IsIHRhcCwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lPcmdhbml6YXRpb25PYmplY3RzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvb3JnYW5pemF0aW9uLW9iamVjdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi9jYWNoZS9hcHAtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlcic7XG5pbXBvcnQge09iamVjdFR5cGV9IGZyb20gJy4uLy4uL21vZGVsL29iamVjdC10eXBlLm1vZGVsJztcbmltcG9ydCB7RW9Vc2VyfSBmcm9tICcuLi8uLi9tb2RlbC9lby11c2VyLm1vZGVsJztcbmltcG9ydCB7Y2xvbmVEZWVwfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtPcmdSb2xlfSBmcm9tICcuLi8uLi9tb2RlbC9vcmcubW9kZWwnO1xuaW1wb3J0IHtVdGlsc30gZnJvbSAnLi4vLi4vdXRpbC91dGlscyc7XG5pbXBvcnQge0lDb2RlU3lzdGVtfSBmcm9tICcuL3N5c3RlbWRlZmluaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0VuYWlvRXZlbnR9IGZyb20gJy4uL2V2ZW50cy9ldmVudHMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgU3lzdGVtIFNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX3N5c3RlbTtcbiAgcHJpdmF0ZSBzeXN0ZW1Tb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KCk7XG4gIHB1YmxpYyBzeXN0ZW0kOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnN5c3RlbVNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAvLyBzZXNzaW9uIGNhY2hlIGZvciBvYmplY3QgdHlwZSBmb3Jtc1xuICBwcml2YXRlIG9iamVjdFR5cGVGb3JtczogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSB1c2VyOiBFb1VzZXI7XG4gIHByaXZhdGUgY2FjaGVkUm9sZXM6IE9yZ1JvbGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSkge1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLm9uKEVuYWlvRXZlbnQuU1lTVEVNX1NUQVRVU19TQ0hFTUFfQ0hBTkdFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHRoaXMudXNlcik7XG4gICAgfSlcbiAgfVxuXG4gIHNldCBzeXN0ZW0ocyl7XG4gICAgdGhpcy5fc3lzdGVtID0gcztcbiAgfVxuXG4gIGdldCBzeXN0ZW0oKXtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLl9zeXN0ZW0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBPYmplY3RUeXBlc1xuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBjb250YWluaW5nIGFsbCBvYmplY3QgdHlwZXNcbiAgICovXG4gIHB1YmxpYyBnZXRPYmplY3RUeXBlcygpOiBPYmplY3RUeXBlW10ge1xuICAgIHJldHVybiB0aGlzLnN5c3RlbS50eXBlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIE9iamVjdFR5cGUgYnkgbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIG9iamVjdFR5cGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBvYmplY3QgdHlwZVxuICAgKiBAcmV0dXJucyB0aGUgT2JqZWN0VHlwZSBtYXRjaGluZyB0aGUgZ2l2ZW4gbmFtZVxuICAgKi9cbiAgcHVibGljIGdldE9iamVjdFR5cGUob2JqZWN0VHlwZU5hbWU6IHN0cmluZyk6IE9iamVjdFR5cGUge1xuICAgIHJldHVybiB0aGlzLnN5c3RlbS50eXBlcy5maW5kKHQgPT4gdC5uYW1lID09PSBvYmplY3RUeXBlTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZvcm0gZWxlbWVudHMgZnJvbSBmb3JtIG1vZGVsLiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgaGF2ZSB0byBmZXRjaCB0aGVtXG4gICAqIGZvciBhIHNwZWNpYWwgc2l0dWF0aW9uIGxpa2UgU0VBUkNIXG4gICAqIEBwYXJhbSBvYmplY3RUeXBlTmFtZSBPYmplY3RUeXBlIHRvIGZldGNoIGVsZW1lbnRzIGZvclxuICAgKiBAcGFyYW0gc2l0dWF0aW9uIEZvcm0gbW9kZWwgc2l0dWF0aW9uIHRvIGJlIGZldGNoZWRcbiAgICogQHBhcmFtIGlzQ29udGV4dFR5cGUgRmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIGZvcm0gbW9kZWwgc2hvdWxkIGJlIGZldGNoZWQgZm9yIGEgY29udGV4dCBtb2RlXG4gICAqL1xuICBnZXRGb3JtRWxlbWVudHNGcm9tRm9ybU1vZGVsKG9iamVjdFR5cGVOYW1lOiBzdHJpbmcsIHNpdHVhdGlvbjogc3RyaW5nLCBpc0NvbnRleHRUeXBlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRPYmplY3RUeXBlRm9ybShvYmplY3RUeXBlTmFtZSwgc2l0dWF0aW9uLCBpc0NvbnRleHRUeXBlID8gJ0NPTlRFWFQnIDogbnVsbCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChtb2RlbCA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gW107XG4gICAgICAgIHRoaXMucHJvY2Vzc0Zvcm1Nb2RlbEVsZW1lbnRzKG1vZGVsLCBlbGVtZW50cyk7XG4gICAgICAgIHJldHVybiBvZihlbGVtZW50cyk7XG4gICAgfSkpXG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NGb3JtTW9kZWxFbGVtZW50cyhtb2RlbDogYW55LCBlbGVtZW50czogYW55W10pIHtcbiAgICBtb2RlbC5lbGVtZW50cy5mb3JFYWNoKGUgPT4ge1xuICAgICAgaWYoZS50eXBlICE9PSBcIm8ybUdyb3VwXCIgJiYgZS50eXBlICE9PSBcIm8ybUdyb3VwU3RhY2tcIikge1xuICAgICAgICBlbGVtZW50cy5wdXNoKGUpO1xuICAgICAgfSBlbHNlIGlmKGUuZWxlbWVudHMgJiYgZS5lbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRm9ybU1vZGVsRWxlbWVudHMoZSwgZWxlbWVudHMpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiB0eXBlIGltcGxlbWVudHMgYSBnaXZlbiBzdXBlcnR5cGVcbiAgICogQHBhcmFtIHR5cGUgVHlwZSB0byBiZSBjaGVja2VkXG4gICAqIEBwYXJhbSBzdXBlclR5cGVOYW1lIE5hbWUgb2YgdGhlIHN1cGVydHlwZVxuICAgKi9cbiAgcHVibGljIGltcGxlbWVudHNUeXBlKHR5cGU6IE9iamVjdFR5cGUsIHN1cGVyVHlwZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlLm5hbWUgPT09IHN1cGVyVHlwZU5hbWUgfHwgKHR5cGUuaW1wbGVtZW50cyAmJiB0eXBlLmltcGxlbWVudHMuaW5kZXhPZihzdXBlclR5cGVOYW1lKSAhPT0gLTEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBjb2Rlc3lzdGVtXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgY29kZXN5c3RlbXMgaWRcbiAgICogQHJldHVybnMgVGhlIGNvZGVzeXN0ZW0gb2JqZWN0IG1hdGNoaW5nIHRoZSBnaXZlbiBpZFxuICAgKi9cbiAgcHVibGljIGdldENvZGVzeXN0ZW0oaWQ6IHN0cmluZyk6IElDb2RlU3lzdGVtIHtcbiAgICByZXR1cm4gdGhpcy5zeXN0ZW0uY29kZXN5c3RlbXMuZmluZCh0ID0+IHQuaWQgPT09IGlkIHx8IHQubmFtZSA9PT0gaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZm9ybSBtb2RlbCBvZiBhbiBvYmplY3QgdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIG9iamVjdFR5cGVOYW1lIFRoZSBvYmplY3QgdHlwZSBuYW1lXG4gICAqIEBwYXJhbSBzaXR1YXRpb24gVGhlIGZvcm0gc2l0dWF0aW9uIHRvIGJlIGZldGNoZWRcbiAgICogQHBhcmFtIG1vZGUgRm9ybSBtb2RlIHRvIGZldGNoIChlLmcuIENPTlRFWFQpXG4gICAqIEByZXR1cm5zIFRoZSBvYmplY3QgdHlwZSBmb3JtIG1vZGVsXG4gICAqL1xuICBwdWJsaWMgZ2V0T2JqZWN0VHlwZUZvcm0ob2JqZWN0VHlwZU5hbWU6IHN0cmluZywgc2l0dWF0aW9uOiBzdHJpbmcsIG1vZGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgLyoqIGNoZWNrIGlmIHdlIGhhdmUgYSBjYWNoZWQgZm9ybSBmaXJzdCAqL1xuICAgIGxldCBjYWNoZWRGb3JtO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlICghY2FjaGVkRm9ybSAmJiBpIDwgdGhpcy5vYmplY3RUeXBlRm9ybXMubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5vYmplY3RUeXBlRm9ybXNbaV0ubmFtZSA9PT0gb2JqZWN0VHlwZU5hbWUgJiZcbiAgICAgICAgdGhpcy5vYmplY3RUeXBlRm9ybXNbaV0ubW9kZSA9PT0gbW9kZSAmJlxuICAgICAgICB0aGlzLm9iamVjdFR5cGVGb3Jtc1tpXS5zaXR1YXRpb24gPT09IHNpdHVhdGlvbikge1xuICAgICAgICBjYWNoZWRGb3JtID0gdGhpcy5vYmplY3RUeXBlRm9ybXNbaV07XG4gICAgICB9XG4gICAgICBpKys7XG4gICAgfVxuXG4gICAgaWYgKGNhY2hlZEZvcm0pIHtcbiAgICAgIC8qKiByZXR1cm4gYSBjbG9uZSBvZiB0aGUgY2FjaGVkIG1vZGVsIGFzIG90aGVyd2lzZSBtb2RlbCBjaGFuZ2VzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNoYWNoZWQgbW9kZWwgKi9cbiAgICAgIHJldHVybiBvZihjbG9uZURlZXAoY2FjaGVkRm9ybSkpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGxldCB1cmkgPSBgL3VpL2Zvcm0vJHtvYmplY3RUeXBlTmFtZX0/c2l0dWF0aW9uPSR7c2l0dWF0aW9ufWA7XG4gICAgICB1cmkgKz0gISFtb2RlID8gYCZmb3JtbW9kZT0ke21vZGV9YCA6ICcnO1xuXG4gICAgICAvKiogZmV0Y2ggYW5kIGNhY2hlIHRoZSByZXF1ZXN0ZWQgZm9ybSwgaWYgbm8gY2FjaGVkIHZlcnNpb24gd2FzIGZvdW5kICovXG4gICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldFZpYVRlbXBDYWNoZSh1cmksICgpID0+IHRoaXMuYmFja2VuZFxuICAgICAgICAuZ2V0SnNvbih1cmkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgobW9kZWwpID0+IHRoaXMub2JqZWN0VHlwZUZvcm1zLnB1c2goY2xvbmVEZWVwKG1vZGVsKSkpXG4gICAgICAgICkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBiYWNrZW5kcyBzeXN0ZW0gZGVmaW5pdGlvbiBhbmQgdXBkYXRlcyBzeXN0ZW0kIE9ic2VydmFibGUuXG4gICAqIFN1YnNjcmliZSB0byB0aGUgc3lzdGVtJCBvYnNlcnZhYmxlIGluc3RlYWQgb2YgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvdGhlcndpc2UgeW91J2xsIHRyaWdnZXIgZmV0Y2hpbmcgdGhlXG4gICAqIHN5c3RlbSBkZWZpbml0aW9uIGV2ZXJ5IHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIHRvIGxvYWQgdGhlIHN5c3RlbSBkZWZpbml0aW9uIGZvclxuICAgKiBAcmV0dXJucyB0cnVlIHdoZW4gc3VjY2Vzc2Z1bGxcbiAgICovXG4gIHB1YmxpYyBnZXRTeXN0ZW1EZWZpbml0aW9uKHVzZXI6IEVvVXNlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXG4gICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAvLyB0b2RvOiB0ZW1wb3Jhcnk6IE9yZ0NoYW5nZXMgY291bGQgbm90IGJlIHJlY29nbml6ZWQgYnV0IGFmZmVjdCBvYmplY3QgZGVmaW5pdGlvblxuICAgIHJldHVybiB0aGlzLmZldGNoU3lzdGVtRGVmaW5pdGlvbih1c2VyKTtcblxuICAgIC8vIHRvZG86IGVuYWJsZSBhZ2FpbiB3aGVuIE9yZ0NoYW5nZXMgYXJlIHJlY29nbml6YWJsZSAoRE8gTk9UIERFTEVURSEpXG4gICAgLy8gLy8gaXMgdGhlcmUgYSBjYWNoZWQgdmVyc2lvblxuICAgIC8vIHJldHVybiB0aGlzLmFwcENhY2hlXG4gICAgLy8gICAuZ2V0SXRlbSh0aGlzLmFwcENhY2hlLlNZU1RFTV9ERUZJTklUSU9OKVxuICAgIC8vICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIC8vICAgICB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3IgZmV0Y2hpbmcgY2FjaGVkIHZlcnNpb24gb2Ygc3lzdGVtIGRlZmluaXRpb24uJywgZXJyb3IpO1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5mZXRjaFN5c3RlbURlZmluaXRpb24odXNlcik7XG4gICAgLy8gICB9KVxuICAgIC8vICAgLmZsYXRNYXAoKGNhY2hlZFN5c3RlbURlZmluaXRpb246IGFueSkgPT4ge1xuICAgIC8vXG4gICAgLy8gICAgIC8vIHllcz8gdGhlbiBjaGVjayBpZiBpdCdzIHVwIHRvIGRhdGVcbiAgICAvLyAgICAgaWYgKGNhY2hlZFN5c3RlbURlZmluaXRpb24pIHtcbiAgICAvL1xuICAgIC8vICAgICAgIGlmIChcbiAgICAvLyAgICAgICAgIHVzZXIuc2NoZW1hLnZlcnNpb24gIT09IGNhY2hlZFN5c3RlbURlZmluaXRpb24uaW5mby52ZXJzaW9uIHx8XG4gICAgLy8gICAgICAgICB1c2VyLmlkICE9PSBjYWNoZWRTeXN0ZW1EZWZpbml0aW9uLmluZm8udXNlciB8fFxuICAgIC8vICAgICAgICAgdXNlci5nZXRTY2hlbWFMb2NhbGUoKSAhPT0gY2FjaGVkU3lzdGVtRGVmaW5pdGlvbi5pbmZvLmxvY2FsZVxuICAgIC8vICAgICAgICkge1xuICAgIC8vICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHVzZXIpO1xuICAgIC8vICAgICAgIH0gZWxzZSB7XG4gICAgLy8gICAgICAgICAvLyBjYWNoZSBpcyB1cCB0byBkYXRlLiByZXR1cm4gdGhlIGNhY2hlZCBvbmVcbiAgICAvLyAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTeXN0ZW0gZGVmaW5pdGlvbiBpcyB1cCB0byBkYXRlLCB1c2luZyBjYWNoZWQgdmVyc2lvbi4nLCBjYWNoZWRTeXN0ZW1EZWZpbml0aW9uKTtcbiAgICAvLyAgICAgICAgIHRoaXMuc3lzdGVtID0gY2FjaGVkU3lzdGVtRGVmaW5pdGlvbjtcbiAgICAvLyAgICAgICAgIHRoaXMuc3lzdGVtU291cmNlLm5leHQodGhpcy5zeXN0ZW0pO1xuICAgIC8vICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICAvLyBubyBjYWNoZWQgc3lzdGVtRGVmaW5pdGlvbiBmb3VuZFxuICAgIC8vICAgICAgIHJldHVybiB0aGlzLmZldGNoU3lzdGVtRGVmaW5pdGlvbih1c2VyKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHZhbHVlIGRlcGVuZGluZyBvbiBhIGdpdmVuIFR5cGVcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZyB2YWx1ZVR5cGVcbiAgICogQHJldHVybnMgYW55XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKHZhbHVlVHlwZTogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgZGVmYXVsdFZhbHVlO1xuICAgIHN3aXRjaCAodmFsdWVUeXBlKSB7XG4gICAgICBjYXNlICdDVVJSRU5UX1VTRVInOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMudXNlci5uYW1lO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0NVUlJFTlRfVVNFUl9OQU1FJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSB0aGlzLnVzZXIudGl0bGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQ1VSUkVOVF9EQVRFVElNRSc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbmV3IERhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdDVVJSRU5UX0RBVEUnOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IG1vbWVudCgpLnN0YXJ0T2YoJ2RheScpLmZvcm1hdCgneXl5eS1NTS1ERCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1lFQVInOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IG1vbWVudCgpLnllYXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdNT05USCc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkubW9udGgoKSArIDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnREFZJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5kYXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnSE9VUic6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuaG91cigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ01JTlVURSc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkubWludXRlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU0VDT05EJzoge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBtb21lbnQoKS5zZWNvbmQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdXRUVLX09GX1lFQVInOiB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IG1vbWVudCgpLmlzb1dlZWsoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdGSVJTVF9EQVlfT0ZfV0VFSyc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuc3RhcnRPZignaXNvV2VlaycpLnRvRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0ZJUlNUX0RBWV9PRl9NT05USCc6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuc3RhcnRPZignbW9udGgnKS50b0RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdGSVJTVF9EQVlfT0ZfWUVBUic6IHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gbW9tZW50KCkuc3RhcnRPZigneWVhcicpLnRvRGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIHN5c3RlbSBkZWZpbml0aW9uIGZyb20gdGhlIHNlcnZlci4gUHJvdmlkZWQgcGFyYW1zIGFyZSB1c2VkIGZvciBzdG9yaW5nIHRoZVxuICAgKiByZWNlbnQgdmVyc2lvbiBpbiBjYWNoZS5cbiAgICpcbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gZmV0Y2ggdGhlIHN5c3RlbSBkZWZpbml0aW9uIGZvclxuICAgKiBAcmV0dXJuIGJvb2xlYW5cbiAgICovXG4gIGZldGNoU3lzdGVtRGVmaW5pdGlvbih1c2VyOiBFb1VzZXIpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcblxuICAgIGNvbnN0IGZldGNoZXMgPSBbXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS90eXBlL2xpc3Q/ZWxlbWVudHM9dHJ1ZSZiYXNldHlwZXM9dHJ1ZScpLFxuICAgICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9zeXN0ZW0vY3MvbGlzdD9lbGVtZW50cz10cnVlJylcbiAgICBdO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbihmZXRjaGVzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoVXRpbHMuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHJlY2VudCB2ZXJzaW9uIG9mIHN5c3RlbSBkZWZpbml0aW9uIGZyb20gc2VydmVyLicsIGVycm9yKTtcbiAgICAgICAgICB0aGlzLnN5c3RlbVNvdXJjZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgcmVjZW50IHZlcnNpb24gb2Ygc3lzdGVtIGRlZmluaXRpb24gZnJvbSBzZXJ2ZXIuJyk7XG4gICAgICAgIH0pKSxcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XG5cbiAgICAgICAgICB0aGlzLm9iamVjdFR5cGVGb3JtcyA9IFtdO1xuICAgICAgICAgIGNvbnN0IHN5c3RlbSA9IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogaW5mbyBhYm91dCB0aGUgY3VycmVudCBzeXN0ZW0gZGVmaW5pdGlvblxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBpbmZvOiB7XG4gICAgICAgICAgICAgIHVzZXI6IHVzZXIuaWQsXG4gICAgICAgICAgICAgIGxvY2FsZTogdXNlci5nZXRTY2hlbWFMb2NhbGUoKSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogdXNlci5zY2hlbWEudmVyc2lvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogc3VwcG9ydGVkIGJhY2tlbmQgbG9jYWxlc1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBsb2NhbGVzOiB1c2VyLnNjaGVtYS5zdXBwb3J0ZWRMb2NhbGVzLFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBvYmplY3QgdHlwZSBkZWZpbml0aW9uc1xuICAgICAgICAgICAgICovXG4gICAgICAgICAgICB0eXBlczogW10sXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIGNvZGVzeXN0ZW1zIGNhY2hlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvZGVzeXN0ZW1zOiBbXVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBjb25zdCB0eXBlcyA9IGRhdGFbMF07XG4gICAgICAgICAgc3lzdGVtLnR5cGVzID0gdHlwZXMubWFwKHQgPT4gbmV3IE9iamVjdFR5cGUodCkpO1xuICAgICAgICAgIHN5c3RlbS5jb2Rlc3lzdGVtcyA9IGRhdGFbMV07XG5cbiAgICAgICAgICB0aGlzLnN5c3RlbSA9IHN5c3RlbTtcbiAgICAgICAgICB0aGlzLnN5c3RlbVNvdXJjZS5uZXh0KHN5c3RlbSk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0ZldGNoZWQgbmV3IHZlcnNpb24gb2Ygc3lzdGVtIGRlZmluaXRpb24gKHVzZXI6ICcgKyB1c2VyLmlkICsgJywgdmVyc2lvbjogJyArIHVzZXIuc2NoZW1hLnZlcnNpb24gKyAnKS4nKTtcbiAgICAgICAgICB0aGlzLmFwcENhY2hlXG4gICAgICAgICAgICAuc2V0SXRlbSh0aGlzLmFwcENhY2hlLlNZU1RFTV9ERUZJTklUSU9OLCBzeXN0ZW0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0NhY2hlZCByZWNlbnQgdmVyc2lvbicpO1xuICAgICAgICAgICAgfSwgVXRpbHMubG9nRXJyb3IobnVsbCwgJ0Vycm9yIGNhY2hpbmcgcmVjZW50IHZlcnNpb24gb2Ygc3lzdGVtIGRlZmluaXRpb24uJykpO1xuXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhbiBvcmdhbml6YXRpb24gb2JqZWN0IGJ5IGl0cyBJRFxuICAgKiBAcGFyYW0gaWQgSUQgb2Ygb3JnIG9iamVjdFxuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uT2JqZWN0QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldEpzb24oYC9vcmdhbml6YXRpb24vaWQvJHtpZH1gKVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIG9yZ2FuaXphdGlvbiBvYmplY3QgZm9yIGEgZ2l2ZW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgdG8gZmV0Y2ggb2JqZWN0IGZvclxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uT2JqZWN0KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3JnYW5pemF0aW9uT2JqZWN0cyhbbmFtZV0pLnBpcGUobWFwKHJlcyA9PiByZXNbMF0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgY29sbGVjdGlvbiBvZiBvcmdhbml6YXRpb24gb2JqZWN0c1xuICAgKlxuICAgKiBAcGFyYW0gbmFtZXMgQXJyYXkgb2YgbmFtZXMgdG8gZmV0Y2ggb2JqZWN0cyBmb3JcbiAgICogQHJldHVybnMgQSBBcnJheSBvZiBPcmdhbml6YXRpb24gT2JqZWN0c1xuICAgKi9cbiAgZ2V0T3JnYW5pemF0aW9uT2JqZWN0cyhuYW1lczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPElPcmdhbml6YXRpb25PYmplY3RzW10+IHtcbiAgICBjb25zdCB0b0ZldGNoOiBPYnNlcnZhYmxlPElPcmdhbml6YXRpb25PYmplY3RzPltdID0gbmFtZXMubWFwKG5hbWUgPT4gdGhpcy5iYWNrZW5kLmdldEpzb24oYC9vcmdhbml6YXRpb24vbmFtZS8ke25hbWV9YCkucGlwZShjYXRjaEVycm9yKGVycm9yID0+IG9mKHtpZDogbmFtZSwgYWN0aXZlOiBmYWxzZX0pKSkpO1xuICAgIHJldHVybiBvYnNlcnZhYmxlRm9ya0pvaW4odG9GZXRjaCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyBhIGNvbGxlY3Rpb24gb2Ygb3JnYW5pemF0aW9uIHJvbGVzXG4gICAqXG4gICAqIEByZXR1cm4gQSBBcnJheSBvZiBPcmdhbml6YXRpb24gUm9sZXNcbiAgICovXG4gIGdldFJvbGVzKCk6IE9ic2VydmFibGU8T3JnUm9sZVtdPiB7XG4gICAgaWYgKHRoaXMuY2FjaGVkUm9sZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5jYWNoZWRSb2xlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgICAgLmdldCgnL29yZ2FuaXphdGlvbi9yb2xlJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKG8gPT4gbyBhcyBPcmdSb2xlW10pLFxuICAgICAgICAgIHRhcChyb2xlcyA9PiAodGhpcy5jYWNoZWRSb2xlcyA9IHJvbGVzIGFzIE9yZ1JvbGVbXSkpXG4gICAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -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