@alfresco/adf-core 8.1.0-16295248176 → 8.1.0-16342534841

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 (598) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +1 -1
  2. package/bundles/assets/adf-core/i18n/es.json +1 -1
  3. package/bundles/assets/adf-core/i18n/fr.json +1 -1
  4. package/bundles/assets/adf-core/i18n/it.json +1 -1
  5. package/bundles/assets/adf-core/i18n/pl.json +1 -1
  6. package/bundles/assets/adf-core/i18n/pt.json +1 -1
  7. package/esm2022/adf-core.mjs +5 -0
  8. package/esm2022/api/alfresco-adf-core-api.mjs +5 -0
  9. package/esm2022/api/index.mjs +20 -0
  10. package/esm2022/api/lib/adf-http-client.service.mjs +311 -0
  11. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +33 -0
  12. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +25 -0
  13. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +80 -0
  14. package/esm2022/api/lib/interfaces.mjs +18 -0
  15. package/esm2022/api/lib/types.mjs +18 -0
  16. package/esm2022/auth/alfresco-adf-core-auth.mjs +5 -0
  17. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +56 -0
  18. package/esm2022/auth/authentication.mjs +19 -0
  19. package/esm2022/auth/index.mjs +19 -0
  20. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +5 -0
  21. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +82 -0
  22. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +42 -0
  23. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +44 -0
  24. package/esm2022/breadcrumbs/index.mjs +19 -0
  25. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +5 -0
  26. package/esm2022/feature-flags/index.mjs +29 -0
  27. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +36 -0
  28. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +56 -0
  29. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +129 -0
  30. package/esm2022/feature-flags/lib/directives/features.directive.mjs +63 -0
  31. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +63 -0
  32. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +38 -0
  33. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +38 -0
  34. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +40 -0
  35. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +24 -0
  36. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +62 -0
  37. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +51 -0
  38. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +36 -0
  39. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +94 -0
  40. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +40 -0
  41. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +38 -0
  42. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +62 -0
  43. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +126 -0
  44. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +51 -0
  45. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +51 -0
  46. package/esm2022/lib/about/about-module-list/module-list.component.mjs +51 -0
  47. package/esm2022/lib/about/about-package/package-list.component.mjs +65 -0
  48. package/esm2022/lib/about/about-panel.directive.mjs +37 -0
  49. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +59 -0
  50. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +18 -0
  51. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +42 -0
  52. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +51 -0
  53. package/esm2022/lib/about/about.component.mjs +35 -0
  54. package/esm2022/lib/about/about.module.mjs +75 -0
  55. package/esm2022/lib/about/index.mjs +18 -0
  56. package/esm2022/lib/about/interfaces.mjs +18 -0
  57. package/esm2022/lib/about/public-api.mjs +28 -0
  58. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +51 -0
  59. package/esm2022/lib/app-config/app-config.loader.mjs +41 -0
  60. package/esm2022/lib/app-config/app-config.module.mjs +33 -0
  61. package/esm2022/lib/app-config/app-config.pipe.mjs +38 -0
  62. package/esm2022/lib/app-config/app-config.service.mjs +243 -0
  63. package/esm2022/lib/app-config/debug-app-config.service.mjs +44 -0
  64. package/esm2022/lib/app-config/index.mjs +18 -0
  65. package/esm2022/lib/app-config/provide-app-config.mjs +44 -0
  66. package/esm2022/lib/app-config/public-api.mjs +23 -0
  67. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +67 -0
  68. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +356 -0
  69. package/esm2022/lib/auth/basic-auth/content-auth.mjs +189 -0
  70. package/esm2022/lib/auth/basic-auth/process-auth.mjs +193 -0
  71. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +31 -0
  72. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +31 -0
  73. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +57 -0
  74. package/esm2022/lib/auth/guard/auth-guard.mjs +53 -0
  75. package/esm2022/lib/auth/guard/auth-guard.service.mjs +113 -0
  76. package/esm2022/lib/auth/index.mjs +18 -0
  77. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +18 -0
  78. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +18 -0
  79. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +18 -0
  80. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +18 -0
  81. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +18 -0
  82. package/esm2022/lib/auth/models/application-access.model.mjs +18 -0
  83. package/esm2022/lib/auth/models/identity-group.model.mjs +18 -0
  84. package/esm2022/lib/auth/models/identity-role.model.mjs +30 -0
  85. package/esm2022/lib/auth/models/identity-user.model.mjs +18 -0
  86. package/esm2022/lib/auth/models/oauth-config.model.mjs +18 -0
  87. package/esm2022/lib/auth/models/redirection.model.mjs +28 -0
  88. package/esm2022/lib/auth/models/user-access.model.mjs +18 -0
  89. package/esm2022/lib/auth/oidc/auth-config.mjs +19 -0
  90. package/esm2022/lib/auth/oidc/auth-config.service.mjs +110 -0
  91. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +34 -0
  92. package/esm2022/lib/auth/oidc/auth.module.mjs +112 -0
  93. package/esm2022/lib/auth/oidc/auth.service.mjs +22 -0
  94. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +37 -0
  95. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +202 -0
  96. package/esm2022/lib/auth/oidc/public-api.mjs +24 -0
  97. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +267 -0
  98. package/esm2022/lib/auth/oidc/retry-login.service.mjs +66 -0
  99. package/esm2022/lib/auth/oidc/token.interceptor.mjs +62 -0
  100. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +31 -0
  101. package/esm2022/lib/auth/public-api.mjs +44 -0
  102. package/esm2022/lib/auth/services/authentication.service.mjs +190 -0
  103. package/esm2022/lib/auth/services/base-authentication.service.mjs +99 -0
  104. package/esm2022/lib/auth/services/identity-group.service.mjs +269 -0
  105. package/esm2022/lib/auth/services/identity-role.service.mjs +99 -0
  106. package/esm2022/lib/auth/services/identity-user.service.mjs +443 -0
  107. package/esm2022/lib/auth/services/jwt-helper.service.mjs +205 -0
  108. package/esm2022/lib/auth/services/oauth2.service.mjs +69 -0
  109. package/esm2022/lib/auth/services/time-sync.service.mjs +83 -0
  110. package/esm2022/lib/auth/services/user-access.service.mjs +110 -0
  111. package/esm2022/lib/avatar/avatar.component.mjs +51 -0
  112. package/esm2022/lib/blank-page/blank-page.component.mjs +31 -0
  113. package/esm2022/lib/blank-page/blank-page.module.mjs +33 -0
  114. package/esm2022/lib/blank-page/index.mjs +18 -0
  115. package/esm2022/lib/blank-page/public-api.mjs +19 -0
  116. package/esm2022/lib/button/button.component.mjs +61 -0
  117. package/esm2022/lib/card-view/card-view.module.mjs +80 -0
  118. package/esm2022/lib/card-view/components/base-card-view.mjs +51 -0
  119. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +66 -0
  120. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +55 -0
  121. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +39 -0
  122. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +182 -0
  123. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +108 -0
  124. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +64 -0
  125. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +46 -0
  126. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +137 -0
  127. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +113 -0
  128. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +239 -0
  129. package/esm2022/lib/card-view/components/card-view.components.mjs +28 -0
  130. package/esm2022/lib/card-view/index.mjs +18 -0
  131. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +18 -0
  132. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +18 -0
  133. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +18 -0
  134. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +18 -0
  135. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +18 -0
  136. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +18 -0
  137. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +18 -0
  138. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +18 -0
  139. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +18 -0
  140. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +18 -0
  141. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +18 -0
  142. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +29 -0
  143. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +18 -0
  144. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +18 -0
  145. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +28 -0
  146. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +64 -0
  147. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +36 -0
  148. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +58 -0
  149. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +28 -0
  150. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +33 -0
  151. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +36 -0
  152. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +27 -0
  153. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +36 -0
  154. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +32 -0
  155. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +41 -0
  156. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +40 -0
  157. package/esm2022/lib/card-view/models/card-view.models.mjs +29 -0
  158. package/esm2022/lib/card-view/public-api.mjs +25 -0
  159. package/esm2022/lib/card-view/services/card-item-types.service.mjs +54 -0
  160. package/esm2022/lib/card-view/services/card-view-update.service.mjs +59 -0
  161. package/esm2022/lib/card-view/services/card-view.services.mjs +19 -0
  162. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +31 -0
  163. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +35 -0
  164. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +34 -0
  165. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +35 -0
  166. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +35 -0
  167. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +35 -0
  168. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +32 -0
  169. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +31 -0
  170. package/esm2022/lib/card-view/validators/card-view.validators.mjs +26 -0
  171. package/esm2022/lib/card-view/validators/validators.map.mjs +26 -0
  172. package/esm2022/lib/clipboard/clipboard.directive.mjs +98 -0
  173. package/esm2022/lib/clipboard/clipboard.module.mjs +34 -0
  174. package/esm2022/lib/clipboard/clipboard.service.mjs +103 -0
  175. package/esm2022/lib/clipboard/index.mjs +18 -0
  176. package/esm2022/lib/clipboard/public-api.mjs +21 -0
  177. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +52 -0
  178. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +33 -0
  179. package/esm2022/lib/comments/comment-list/index.mjs +18 -0
  180. package/esm2022/lib/comments/comment-list/public-api.mjs +19 -0
  181. package/esm2022/lib/comments/comments.component.mjs +132 -0
  182. package/esm2022/lib/comments/comments.module.mjs +33 -0
  183. package/esm2022/lib/comments/index.mjs +18 -0
  184. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +18 -0
  185. package/esm2022/lib/comments/interfaces/comments.token.mjs +19 -0
  186. package/esm2022/lib/comments/public-api.mjs +22 -0
  187. package/esm2022/lib/common/index.mjs +35 -0
  188. package/esm2022/lib/common/interface/search-component.interface.mjs +18 -0
  189. package/esm2022/lib/common/mock/app-config.service.mock.mjs +47 -0
  190. package/esm2022/lib/common/models/default-languages.model.mjs +36 -0
  191. package/esm2022/lib/common/models/log-levels.model.mjs +33 -0
  192. package/esm2022/lib/common/models/user-info-mode.enum.mjs +25 -0
  193. package/esm2022/lib/common/services/cookie.service.mjs +82 -0
  194. package/esm2022/lib/common/services/download.service.mjs +102 -0
  195. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +89 -0
  196. package/esm2022/lib/common/services/highlight-transform.service.mjs +61 -0
  197. package/esm2022/lib/common/services/language-item.interface.mjs +18 -0
  198. package/esm2022/lib/common/services/log.service.mjs +171 -0
  199. package/esm2022/lib/common/services/page-title.service.mjs +63 -0
  200. package/esm2022/lib/common/services/sort-by-category.service.mjs +81 -0
  201. package/esm2022/lib/common/services/storage.service.mjs +143 -0
  202. package/esm2022/lib/common/services/thumbnail.service.mjs +194 -0
  203. package/esm2022/lib/common/services/url.service.mjs +45 -0
  204. package/esm2022/lib/common/services/user-preferences.service.mjs +238 -0
  205. package/esm2022/lib/common/utils/date-fns-adapter.mjs +115 -0
  206. package/esm2022/lib/common/utils/date-fns-utils.mjs +222 -0
  207. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +134 -0
  208. package/esm2022/lib/common/utils/file-utils.mjs +65 -0
  209. package/esm2022/lib/common/utils/index.mjs +18 -0
  210. package/esm2022/lib/common/utils/moment-date-adapter.mjs +202 -0
  211. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +32 -0
  212. package/esm2022/lib/common/utils/object-utils.mjs +107 -0
  213. package/esm2022/lib/common/utils/public-api.mjs +25 -0
  214. package/esm2022/lib/common/utils/string-utils.mjs +45 -0
  215. package/esm2022/lib/context-menu/animations.mjs +33 -0
  216. package/esm2022/lib/context-menu/context-menu-list.component.mjs +91 -0
  217. package/esm2022/lib/context-menu/context-menu-overlay.mjs +25 -0
  218. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +109 -0
  219. package/esm2022/lib/context-menu/context-menu.directive.mjs +63 -0
  220. package/esm2022/lib/context-menu/context-menu.module.mjs +35 -0
  221. package/esm2022/lib/context-menu/context-menu.tokens.mjs +19 -0
  222. package/esm2022/lib/context-menu/index.mjs +18 -0
  223. package/esm2022/lib/context-menu/interfaces.mjs +18 -0
  224. package/esm2022/lib/context-menu/public-api.mjs +21 -0
  225. package/esm2022/lib/core.module.mjs +296 -0
  226. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +45 -0
  227. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +65 -0
  228. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +55 -0
  229. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +113 -0
  230. package/esm2022/lib/datatable/components/data-cell.event.mjs +31 -0
  231. package/esm2022/lib/datatable/components/data-row-action.event.mjs +34 -0
  232. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +914 -0
  233. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +126 -0
  234. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +98 -0
  235. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +78 -0
  236. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +60 -0
  237. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +49 -0
  238. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +67 -0
  239. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +86 -0
  240. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +69 -0
  241. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +153 -0
  242. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +42 -0
  243. package/esm2022/lib/datatable/data/data-column.model.mjs +18 -0
  244. package/esm2022/lib/datatable/data/data-row-event.model.mjs +26 -0
  245. package/esm2022/lib/datatable/data/data-row-update.model.mjs +18 -0
  246. package/esm2022/lib/datatable/data/data-row.model.mjs +18 -0
  247. package/esm2022/lib/datatable/data/data-sorting.model.mjs +24 -0
  248. package/esm2022/lib/datatable/data/data-table.schema.mjs +132 -0
  249. package/esm2022/lib/datatable/data/datatable-adapter.mjs +18 -0
  250. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +46 -0
  251. package/esm2022/lib/datatable/data/object-datarow.model.mjs +41 -0
  252. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +134 -0
  253. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +45 -0
  254. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +36 -0
  255. package/esm2022/lib/datatable/data-column/data-column.component.mjs +114 -0
  256. package/esm2022/lib/datatable/data-column/index.mjs +18 -0
  257. package/esm2022/lib/datatable/data-column/public-api.mjs +20 -0
  258. package/esm2022/lib/datatable/datatable.module.mjs +161 -0
  259. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +35 -0
  260. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +30 -0
  261. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +35 -0
  262. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +89 -0
  263. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +43 -0
  264. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +46 -0
  265. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +43 -0
  266. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +46 -0
  267. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +46 -0
  268. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +173 -0
  269. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +72 -0
  270. package/esm2022/lib/datatable/directives/resizable/types.mjs +18 -0
  271. package/esm2022/lib/datatable/index.mjs +18 -0
  272. package/esm2022/lib/datatable/public-api.mjs +55 -0
  273. package/esm2022/lib/datatable/services/datatable.service.mjs +33 -0
  274. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +50 -0
  275. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +38 -0
  276. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +18 -0
  277. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +70 -0
  278. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +22 -0
  279. package/esm2022/lib/dialogs/dialog/index.mjs +20 -0
  280. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +52 -0
  281. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +34 -0
  282. package/esm2022/lib/dialogs/index.mjs +18 -0
  283. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  284. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +73 -0
  285. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +18 -0
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +33 -0
  287. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +64 -0
  288. package/esm2022/lib/directives/directive.module.mjs +56 -0
  289. package/esm2022/lib/directives/highlight.directive.mjs +67 -0
  290. package/esm2022/lib/directives/index.mjs +18 -0
  291. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +67 -0
  292. package/esm2022/lib/directives/logout.directive.mjs +72 -0
  293. package/esm2022/lib/directives/public-api.mjs +24 -0
  294. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +60 -0
  295. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +104 -0
  296. package/esm2022/lib/directives/upload.directive.mjs +241 -0
  297. package/esm2022/lib/dynamic-chip-list/chip.mjs +18 -0
  298. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +204 -0
  299. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +33 -0
  300. package/esm2022/lib/dynamic-chip-list/index.mjs +18 -0
  301. package/esm2022/lib/dynamic-chip-list/public-api.mjs +20 -0
  302. package/esm2022/lib/events/base-ui.event.mjs +21 -0
  303. package/esm2022/lib/events/base.event.mjs +29 -0
  304. package/esm2022/lib/events/index.mjs +18 -0
  305. package/esm2022/lib/events/public-api.mjs +19 -0
  306. package/esm2022/lib/form/components/form-base.component.mjs +212 -0
  307. package/esm2022/lib/form/components/form-custom-button.directive.mjs +30 -0
  308. package/esm2022/lib/form/components/form-field/form-field.component.mjs +142 -0
  309. package/esm2022/lib/form/components/form-renderer.component.mjs +161 -0
  310. package/esm2022/lib/form/components/form-section/form-section.component.mjs +46 -0
  311. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +37 -0
  312. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +37 -0
  313. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +48 -0
  314. package/esm2022/lib/form/components/middlewares/middleware.mjs +19 -0
  315. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +77 -0
  316. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +59 -0
  317. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +52 -0
  318. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +28 -0
  319. package/esm2022/lib/form/components/widgets/core/container.model.mjs +50 -0
  320. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +52 -0
  321. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +18 -0
  322. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +38 -0
  323. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +18 -0
  324. package/esm2022/lib/form/components/widgets/core/external-content.mjs +18 -0
  325. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +18 -0
  326. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +18 -0
  327. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +18 -0
  328. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +18 -0
  329. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +18 -0
  330. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +18 -0
  331. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +74 -0
  332. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +23 -0
  333. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +268 -0
  334. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +18 -0
  335. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +490 -0
  336. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +32 -0
  337. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +38 -0
  338. package/esm2022/lib/form/components/widgets/core/form-values.mjs +18 -0
  339. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +18 -0
  340. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +33 -0
  341. package/esm2022/lib/form/components/widgets/core/form.model.mjs +387 -0
  342. package/esm2022/lib/form/components/widgets/core/group.model.mjs +18 -0
  343. package/esm2022/lib/form/components/widgets/core/index.mjs +49 -0
  344. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +115 -0
  345. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +18 -0
  346. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +18 -0
  347. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +34 -0
  348. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +18 -0
  349. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +27 -0
  350. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +18 -0
  351. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +162 -0
  352. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +153 -0
  353. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +53 -0
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +86 -0
  355. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +46 -0
  356. package/esm2022/lib/form/components/widgets/display-text/index.mjs +19 -0
  357. package/esm2022/lib/form/components/widgets/error/error.component.mjs +92 -0
  358. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +86 -0
  359. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +42 -0
  360. package/esm2022/lib/form/components/widgets/header/index.mjs +19 -0
  361. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +69 -0
  362. package/esm2022/lib/form/components/widgets/index.mjs +71 -0
  363. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +66 -0
  364. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +55 -0
  365. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +71 -0
  366. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +18 -0
  367. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +215 -0
  368. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +65 -0
  369. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +63 -0
  370. package/esm2022/lib/form/components/widgets/widget.component.mjs +110 -0
  371. package/esm2022/lib/form/events/form-error.event.mjs +24 -0
  372. package/esm2022/lib/form/events/form-field.event.mjs +24 -0
  373. package/esm2022/lib/form/events/form-rules.event.mjs +25 -0
  374. package/esm2022/lib/form/events/form-spinner.event.mjs +23 -0
  375. package/esm2022/lib/form/events/form.event.mjs +29 -0
  376. package/esm2022/lib/form/events/index.mjs +24 -0
  377. package/esm2022/lib/form/events/validate-form-field.event.mjs +24 -0
  378. package/esm2022/lib/form/events/validate-form.event.mjs +25 -0
  379. package/esm2022/lib/form/form-base.module.mjs +75 -0
  380. package/esm2022/lib/form/index.mjs +18 -0
  381. package/esm2022/lib/form/models/form-rules.model.mjs +77 -0
  382. package/esm2022/lib/form/models/task-process-variable.model.mjs +19 -0
  383. package/esm2022/lib/form/models/widget-visibility.model.mjs +104 -0
  384. package/esm2022/lib/form/pipes/field-style.pipe.mjs +45 -0
  385. package/esm2022/lib/form/pipes/index.mjs +18 -0
  386. package/esm2022/lib/form/public-api.mjs +35 -0
  387. package/esm2022/lib/form/services/form-rendering.service.mjs +53 -0
  388. package/esm2022/lib/form/services/form-validation-service.interface.mjs +18 -0
  389. package/esm2022/lib/form/services/form.service.mjs +86 -0
  390. package/esm2022/lib/form/services/widget-visibility.service.mjs +294 -0
  391. package/esm2022/lib/header/header.component.mjs +73 -0
  392. package/esm2022/lib/header/index.mjs +18 -0
  393. package/esm2022/lib/header/navbar/navbar-item.component.mjs +37 -0
  394. package/esm2022/lib/header/navbar/navbar.component.mjs +36 -0
  395. package/esm2022/lib/header/public-api.mjs +20 -0
  396. package/esm2022/lib/icon/icon.component.mjs +51 -0
  397. package/esm2022/lib/icon/icon.module.mjs +36 -0
  398. package/esm2022/lib/icon/index.mjs +18 -0
  399. package/esm2022/lib/icon/public-api.mjs +19 -0
  400. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +86 -0
  401. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +33 -0
  402. package/esm2022/lib/identity-user-info/index.mjs +18 -0
  403. package/esm2022/lib/identity-user-info/public-api.mjs +19 -0
  404. package/esm2022/lib/info-drawer/index.mjs +18 -0
  405. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +71 -0
  406. package/esm2022/lib/info-drawer/info-drawer.component.mjs +113 -0
  407. package/esm2022/lib/info-drawer/info-drawer.module.mjs +53 -0
  408. package/esm2022/lib/info-drawer/public-api.mjs +20 -0
  409. package/esm2022/lib/interface/index.mjs +18 -0
  410. package/esm2022/lib/interface/injection.tokens.mjs +19 -0
  411. package/esm2022/lib/interface/public-api.mjs +18 -0
  412. package/esm2022/lib/language-menu/index.mjs +18 -0
  413. package/esm2022/lib/language-menu/language-menu.component.mjs +61 -0
  414. package/esm2022/lib/language-menu/language-menu.module.mjs +35 -0
  415. package/esm2022/lib/language-menu/language-picker.component.mjs +77 -0
  416. package/esm2022/lib/language-menu/public-api.mjs +21 -0
  417. package/esm2022/lib/language-menu/service/language.service.interface.mjs +18 -0
  418. package/esm2022/lib/language-menu/service/language.service.mjs +34 -0
  419. package/esm2022/lib/layout/components/header/header.component.mjs +99 -0
  420. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +180 -0
  421. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +82 -0
  422. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +145 -0
  423. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +33 -0
  424. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +33 -0
  425. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +33 -0
  426. package/esm2022/lib/layout/index.mjs +18 -0
  427. package/esm2022/lib/layout/layout.module.mjs +72 -0
  428. package/esm2022/lib/layout/public-api.mjs +25 -0
  429. package/esm2022/lib/login/components/login/login.component.mjs +367 -0
  430. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +18 -0
  431. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +57 -0
  432. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +48 -0
  433. package/esm2022/lib/login/directives/login-footer.directive.mjs +41 -0
  434. package/esm2022/lib/login/directives/login-header.directive.mjs +41 -0
  435. package/esm2022/lib/login/index.mjs +18 -0
  436. package/esm2022/lib/login/login.module.mjs +54 -0
  437. package/esm2022/lib/login/models/login-error.event.mjs +22 -0
  438. package/esm2022/lib/login/models/login-submit.event.mjs +32 -0
  439. package/esm2022/lib/login/models/login-success.event.mjs +24 -0
  440. package/esm2022/lib/login/public-api.mjs +27 -0
  441. package/esm2022/lib/material.module.mjs +254 -0
  442. package/esm2022/lib/mock/cookie.service.mock.mjs +43 -0
  443. package/esm2022/lib/mock/data-column.mock.mjs +73 -0
  444. package/esm2022/lib/mock/event.mock.mjs +39 -0
  445. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +225 -0
  446. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +347 -0
  447. package/esm2022/lib/mock/form/form-definition.mock.mjs +403 -0
  448. package/esm2022/lib/mock/form/form.component.mock.mjs +275 -0
  449. package/esm2022/lib/mock/form/form.service.mock.mjs +248 -0
  450. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +1835 -0
  451. package/esm2022/lib/mock/index.mjs +18 -0
  452. package/esm2022/lib/mock/public-api.mjs +27 -0
  453. package/esm2022/lib/mock/translation.service.mock.mjs +44 -0
  454. package/esm2022/lib/models/comment.model.mjs +51 -0
  455. package/esm2022/lib/models/component.model.mjs +24 -0
  456. package/esm2022/lib/models/decimal-number.model.mjs +26 -0
  457. package/esm2022/lib/models/general-user.model.mjs +24 -0
  458. package/esm2022/lib/models/index.mjs +18 -0
  459. package/esm2022/lib/models/pagination.model.mjs +29 -0
  460. package/esm2022/lib/models/path.model.mjs +24 -0
  461. package/esm2022/lib/models/product-version.model.mjs +28 -0
  462. package/esm2022/lib/models/public-api.mjs +24 -0
  463. package/esm2022/lib/models/request-pagination.model.mjs +25 -0
  464. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +44 -0
  465. package/esm2022/lib/notifications/components/notification-history.component.mjs +138 -0
  466. package/esm2022/lib/notifications/helpers/notification.factory.mjs +43 -0
  467. package/esm2022/lib/notifications/index.mjs +18 -0
  468. package/esm2022/lib/notifications/models/notification.model.mjs +25 -0
  469. package/esm2022/lib/notifications/notification-history.module.mjs +35 -0
  470. package/esm2022/lib/notifications/public-api.mjs +23 -0
  471. package/esm2022/lib/notifications/services/notification.service.mjs +166 -0
  472. package/esm2022/lib/pagination/index.mjs +18 -0
  473. package/esm2022/lib/pagination/infinite-pagination.component.mjs +111 -0
  474. package/esm2022/lib/pagination/paginated-component.interface.mjs +18 -0
  475. package/esm2022/lib/pagination/pagination-component.interface.mjs +18 -0
  476. package/esm2022/lib/pagination/pagination.component.mjs +263 -0
  477. package/esm2022/lib/pagination/pagination.module.mjs +35 -0
  478. package/esm2022/lib/pagination/public-api.mjs +22 -0
  479. package/esm2022/lib/pipes/date-time.pipe.mjs +46 -0
  480. package/esm2022/lib/pipes/decimal-number.pipe.mjs +78 -0
  481. package/esm2022/lib/pipes/file-size.pipe.mjs +54 -0
  482. package/esm2022/lib/pipes/file-type.pipe.mjs +40 -0
  483. package/esm2022/lib/pipes/format-space.pipe.mjs +39 -0
  484. package/esm2022/lib/pipes/full-name.pipe.mjs +43 -0
  485. package/esm2022/lib/pipes/index.mjs +18 -0
  486. package/esm2022/lib/pipes/localized-date.pipe.mjs +70 -0
  487. package/esm2022/lib/pipes/multi-value.pipe.mjs +37 -0
  488. package/esm2022/lib/pipes/pipe.module.mjs +83 -0
  489. package/esm2022/lib/pipes/public-api.mjs +30 -0
  490. package/esm2022/lib/pipes/text-highlight.pipe.mjs +39 -0
  491. package/esm2022/lib/pipes/time-ago.pipe.mjs +65 -0
  492. package/esm2022/lib/pipes/truncate.pipe.mjs +33 -0
  493. package/esm2022/lib/pipes/user-initial.pipe.mjs +52 -0
  494. package/esm2022/lib/pipes/user-like.interface.mjs +18 -0
  495. package/esm2022/lib/progress/progress.component.mjs +90 -0
  496. package/esm2022/lib/search-text/animations.mjs +32 -0
  497. package/esm2022/lib/search-text/index.mjs +18 -0
  498. package/esm2022/lib/search-text/models/search-text-input.model.mjs +23 -0
  499. package/esm2022/lib/search-text/public-api.mjs +22 -0
  500. package/esm2022/lib/search-text/search-text-input.component.mjs +283 -0
  501. package/esm2022/lib/search-text/search-text-input.module.mjs +35 -0
  502. package/esm2022/lib/search-text/search-trigger.directive.mjs +181 -0
  503. package/esm2022/lib/snackbar-content/index.mjs +18 -0
  504. package/esm2022/lib/snackbar-content/public-api.mjs +20 -0
  505. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +18 -0
  506. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +49 -0
  507. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +33 -0
  508. package/esm2022/lib/sorting-picker/index.mjs +18 -0
  509. package/esm2022/lib/sorting-picker/public-api.mjs +18 -0
  510. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +67 -0
  511. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +43 -0
  512. package/esm2022/lib/templates/error-content/error-content.component.mjs +61 -0
  513. package/esm2022/lib/templates/index.mjs +18 -0
  514. package/esm2022/lib/templates/public-api.mjs +20 -0
  515. package/esm2022/lib/templates/template.module.mjs +38 -0
  516. package/esm2022/lib/testing/core.story.module.mjs +39 -0
  517. package/esm2022/lib/testing/core.testing.module.mjs +36 -0
  518. package/esm2022/lib/testing/index.mjs +22 -0
  519. package/esm2022/lib/testing/noop-auth.module.mjs +80 -0
  520. package/esm2022/lib/testing/noop-translate.module.mjs +75 -0
  521. package/esm2022/lib/testing/unit-testing-utils.mjs +364 -0
  522. package/esm2022/lib/toolbar/index.mjs +18 -0
  523. package/esm2022/lib/toolbar/public-api.mjs +21 -0
  524. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +27 -0
  525. package/esm2022/lib/toolbar/toolbar-title.component.mjs +32 -0
  526. package/esm2022/lib/toolbar/toolbar.component.mjs +39 -0
  527. package/esm2022/lib/toolbar/toolbar.module.mjs +36 -0
  528. package/esm2022/lib/translation/index.mjs +18 -0
  529. package/esm2022/lib/translation/public-api.mjs +19 -0
  530. package/esm2022/lib/translation/translate-loader.service.mjs +153 -0
  531. package/esm2022/lib/translation/translation.service.mjs +148 -0
  532. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +36 -0
  533. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +220 -0
  534. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +64 -0
  535. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +550 -0
  536. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +60 -0
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +48 -0
  538. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +198 -0
  539. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +85 -0
  540. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +32 -0
  541. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +34 -0
  542. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +34 -0
  543. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +216 -0
  544. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +46 -0
  545. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +34 -0
  546. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +34 -0
  547. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +34 -0
  548. package/esm2022/lib/viewer/components/viewer.component.mjs +486 -0
  549. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +67 -0
  550. package/esm2022/lib/viewer/index.mjs +18 -0
  551. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +23 -0
  552. package/esm2022/lib/viewer/models/viewer.model.mjs +22 -0
  553. package/esm2022/lib/viewer/public-api.mjs +40 -0
  554. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +179 -0
  555. package/esm2022/lib/viewer/services/view-util.service.mjs +149 -0
  556. package/esm2022/lib/viewer/viewer.module.mjs +110 -0
  557. package/esm2022/public-api.mjs +60 -0
  558. package/esm2022/shell/alfresco-adf-core-shell.mjs +5 -0
  559. package/esm2022/shell/index.mjs +21 -0
  560. package/esm2022/shell/lib/components/shell/shell.component.mjs +122 -0
  561. package/esm2022/shell/lib/services/shell-app.service.mjs +22 -0
  562. package/esm2022/shell/lib/shell.module.mjs +75 -0
  563. package/esm2022/shell/lib/shell.routes.mjs +50 -0
  564. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +35 -4
  565. package/fesm2022/adf-core.mjs +1083 -1101
  566. package/fesm2022/adf-core.mjs.map +1 -1
  567. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  568. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  569. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  570. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  571. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  572. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  573. package/fesm2022/alfresco-adf-core-feature-flags.mjs +59 -52
  574. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  575. package/fesm2022/alfresco-adf-core-shell.mjs +14 -68
  576. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  577. package/lib/app-config/provide-app-config.d.ts +2 -2
  578. package/lib/auth/oidc/auth.module.d.ts +4 -4
  579. package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
  580. package/lib/card-view/components/base-card-view.d.ts +1 -1
  581. package/lib/card-view/components/card-view/card-view.component.scss +9 -12
  582. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +2 -1
  583. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +5 -2
  584. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  585. package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
  586. package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +6 -2
  587. package/lib/form/components/form-renderer.component.scss +4 -5
  588. package/lib/translation/public-api.d.ts +0 -1
  589. package/package.json +15 -3
  590. package/public-api.d.ts +0 -1
  591. package/shell/README.md +3 -13
  592. package/shell/index.d.ts +0 -1
  593. package/shell/lib/shell.module.d.ts +1 -1
  594. package/lib/landing-page/index.d.ts +0 -17
  595. package/lib/landing-page/provider.d.ts +0 -24
  596. package/lib/landing-page/public-api.d.ts +0 -17
  597. package/lib/translation/provide-i18n.d.ts +0 -39
  598. package/shell/lib/providers.d.ts +0 -36
@@ -0,0 +1,189 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Injectable } from '@angular/core';
18
+ import { AdfHttpClient } from '@alfresco/adf-core/api';
19
+ import { AppConfigService, AppConfigValues } from '../../app-config/app-config.service';
20
+ import { StorageService } from '../../common/services/storage.service';
21
+ import { ReplaySubject, Subject } from 'rxjs';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../app-config/app-config.service";
24
+ import * as i2 from "@alfresco/adf-core/api";
25
+ import * as i3 from "../../common/services/storage.service";
26
+ export class ContentAuth {
27
+ get basePath() {
28
+ const contextRootEcm = this.appConfigService.get(AppConfigValues.CONTEXTROOTECM) || 'alfresco';
29
+ return this.appConfigService.get(AppConfigValues.ECMHOST) + '/' + contextRootEcm + '/api/-default-/public/authentication/versions/1';
30
+ }
31
+ constructor(appConfigService, adfHttpClient, storageService) {
32
+ this.appConfigService = appConfigService;
33
+ this.adfHttpClient = adfHttpClient;
34
+ this.storageService = storageService;
35
+ this.onLogin = new ReplaySubject(1);
36
+ this.onLogout = new ReplaySubject(1);
37
+ this.onError = new Subject();
38
+ this.config = {
39
+ ticketEcm: null
40
+ };
41
+ this.authentications = {
42
+ basicAuth: {
43
+ ticket: ''
44
+ },
45
+ type: 'basic'
46
+ };
47
+ this.appConfigService.onLoad.subscribe(() => {
48
+ this.setConfig();
49
+ });
50
+ }
51
+ setConfig() {
52
+ if (this.storageService.getItem(AppConfigValues.CONTENT_TICKET_STORAGE_LABEL)) {
53
+ this.setTicket(this.storageService.getItem(AppConfigValues.CONTENT_TICKET_STORAGE_LABEL));
54
+ }
55
+ }
56
+ saveUsername(username) {
57
+ this.storageService.setItem('ACS_USERNAME', username);
58
+ }
59
+ getUsername() {
60
+ return this.storageService.getItem('ACS_USERNAME');
61
+ }
62
+ /**
63
+ * login Alfresco API
64
+ *
65
+ * @param username username to login
66
+ * @param password password to login
67
+ * @returns A promise that returns {new authentication ticket} if resolved and {error} if rejected.
68
+ */
69
+ login(username, password) {
70
+ this.authentications.basicAuth.username = username;
71
+ this.authentications.basicAuth.password = password;
72
+ const loginRequest = {};
73
+ loginRequest.userId = this.authentications.basicAuth.username;
74
+ loginRequest.password = this.authentications.basicAuth.password;
75
+ return new Promise((resolve, reject) => {
76
+ this.createTicket(loginRequest)
77
+ .then((data) => {
78
+ this.saveUsername(username);
79
+ this.setTicket(data.entry.id);
80
+ this.adfHttpClient.emit('success');
81
+ this.onLogin.next('success');
82
+ resolve(data.entry.id);
83
+ })
84
+ .catch((error) => {
85
+ this.saveUsername('');
86
+ if (error.status === 401) {
87
+ this.adfHttpClient.emit('unauthorized', error);
88
+ this.onError.next('unauthorized');
89
+ }
90
+ else if (error.status === 403) {
91
+ this.adfHttpClient.emit('forbidden', error);
92
+ this.onError.next('forbidden');
93
+ }
94
+ else {
95
+ this.adfHttpClient.emit('error', error);
96
+ this.onError.next('error');
97
+ }
98
+ reject(error);
99
+ });
100
+ });
101
+ }
102
+ /**
103
+ * logout Alfresco API
104
+ *
105
+ * @returns A promise that returns { authentication ticket} if resolved and {error} if rejected.
106
+ */
107
+ logout() {
108
+ this.saveUsername('');
109
+ return new Promise((resolve, reject) => {
110
+ this.deleteTicket().then(() => {
111
+ this.invalidateSession();
112
+ this.adfHttpClient.emit('logout');
113
+ this.onLogout.next('logout');
114
+ resolve('logout');
115
+ }, (error) => {
116
+ if (error.status === 401) {
117
+ this.adfHttpClient.emit('unauthorized');
118
+ this.onError.next('unauthorized');
119
+ }
120
+ this.adfHttpClient.emit('error');
121
+ this.onError.next('error');
122
+ reject(error);
123
+ });
124
+ });
125
+ }
126
+ /**
127
+ * Set the current Ticket
128
+ *
129
+ * @param ticket a string representing the ticket
130
+ */
131
+ setTicket(ticket) {
132
+ this.authentications.basicAuth.username = 'ROLE_TICKET';
133
+ this.authentications.basicAuth.password = ticket;
134
+ this.config.ticketEcm = ticket;
135
+ this.storageService.setItem(AppConfigValues.CONTENT_TICKET_STORAGE_LABEL, ticket);
136
+ this.ticket = ticket;
137
+ }
138
+ /**
139
+ * @returns the current Ticket
140
+ */
141
+ getToken() {
142
+ if (!this.ticket) {
143
+ this.onError.next('error');
144
+ }
145
+ return this.ticket;
146
+ }
147
+ invalidateSession() {
148
+ this.storageService.removeItem(AppConfigValues.CONTENT_TICKET_STORAGE_LABEL);
149
+ this.authentications.basicAuth.username = null;
150
+ this.authentications.basicAuth.password = null;
151
+ this.config.ticketEcm = null;
152
+ this.ticket = null;
153
+ }
154
+ /**
155
+ * @returns If the client is logged in return true
156
+ */
157
+ isLoggedIn() {
158
+ return !!this.ticket;
159
+ }
160
+ /**
161
+ * @returns return the Authentication
162
+ */
163
+ getAuthentication() {
164
+ return this.authentications;
165
+ }
166
+ createTicket(ticketBodyCreate) {
167
+ if (ticketBodyCreate === null || ticketBodyCreate === undefined) {
168
+ this.onError.next(`Missing param ticketBodyCreate`);
169
+ throw new Error(`Missing param ticketBodyCreate`);
170
+ }
171
+ return this.adfHttpClient.post(this.basePath + '/tickets', { bodyParam: ticketBodyCreate });
172
+ }
173
+ async requireAlfTicket() {
174
+ const ticket = await this.adfHttpClient.get(this.basePath + '/tickets/-me-');
175
+ this.setTicket(ticket.entry.id);
176
+ }
177
+ deleteTicket() {
178
+ return this.adfHttpClient.delete(this.basePath + '/tickets/-me-');
179
+ }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentAuth, deps: [{ token: i1.AppConfigService }, { token: i2.AdfHttpClient }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
181
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentAuth, providedIn: 'root' }); }
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentAuth, decorators: [{
184
+ type: Injectable,
185
+ args: [{
186
+ providedIn: 'root'
187
+ }]
188
+ }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i2.AdfHttpClient }, { type: i3.StorageService }] });
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL2Jhc2ljLWF1dGgvY29udGVudC1hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBa0I5QyxNQUFNLE9BQU8sV0FBVztJQWlCcEIsSUFBSSxRQUFRO1FBQ1IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBUyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksVUFBVSxDQUFDO1FBQ3ZHLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBUyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLGNBQWMsR0FBRyxpREFBaUQsQ0FBQztJQUNqSixDQUFDO0lBRUQsWUFBb0IsZ0JBQWtDLEVBQVUsYUFBNEIsRUFBVSxjQUE4QjtRQUFoSCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFyQnBJLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksT0FB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aEMsQ0FBQztJQUVELFlBQVksQ0FBQyxnQkFBNEI7UUFDckMsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLElBQUksZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUVwRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQzsrR0EvS1EsV0FBVzttSEFBWCxXQUFXLGNBRlIsTUFBTTs7NEZBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkZkh0dHBDbGllbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUvYXBpJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEFwcENvbmZpZ1ZhbHVlcyB9IGZyb20gJy4uLy4uL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBUaWNrZXRCb2R5IHtcbiAgICB1c2VySWQ/OiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlja2V0RW50cnkge1xuICAgIGVudHJ5OiB7XG4gICAgICAgIGlkPzogc3RyaW5nO1xuICAgICAgICB1c2VySWQ/OiBzdHJpbmc7XG4gICAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50QXV0aCB7XG4gICAgb25Mb2dpbiA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dvdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uRXJyb3IgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICB0aWNrZXQ6IHN0cmluZztcbiAgICBjb25maWcgPSB7XG4gICAgICAgIHRpY2tldEVjbTogbnVsbFxuICAgIH07XG5cbiAgICBhdXRoZW50aWNhdGlvbnM6IEF1dGhlbnRpY2F0aW9uID0ge1xuICAgICAgICBiYXNpY0F1dGg6IHtcbiAgICAgICAgICAgIHRpY2tldDogJydcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ2Jhc2ljJ1xuICAgIH07XG5cbiAgICBnZXQgYmFzZVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY29udGV4dFJvb3RFY20gPSB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLkNPTlRFWFRST09URUNNKSB8fCAnYWxmcmVzY28nO1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5FQ01IT1NUKSArICcvJyArIGNvbnRleHRSb290RWNtICsgJy9hcGkvLWRlZmF1bHQtL3B1YmxpYy9hdXRoZW50aWNhdGlvbi92ZXJzaW9ucy8xJztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsIHByaXZhdGUgYWRmSHR0cENsaWVudDogQWRmSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5hcHBDb25maWdTZXJ2aWNlLm9uTG9hZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDb25maWcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb25maWcoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oQXBwQ29uZmlnVmFsdWVzLkNPTlRFTlRfVElDS0VUX1NUT1JBR0VfTEFCRUwpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFRpY2tldCh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oQXBwQ29uZmlnVmFsdWVzLkNPTlRFTlRfVElDS0VUX1NUT1JBR0VfTEFCRUwpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNhdmVVc2VybmFtZSh1c2VybmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnQUNTX1VTRVJOQU1FJywgdXNlcm5hbWUpO1xuICAgIH1cblxuICAgIGdldFVzZXJuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdBQ1NfVVNFUk5BTUUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBsb2dpbiBBbGZyZXNjbyBBUElcbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VybmFtZSB1c2VybmFtZSB0byBsb2dpblxuICAgICAqIEBwYXJhbSBwYXNzd29yZCBwYXNzd29yZCB0byBsb2dpblxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJldHVybnMge25ldyBhdXRoZW50aWNhdGlvbiB0aWNrZXR9IGlmIHJlc29sdmVkIGFuZCB7ZXJyb3J9IGlmIHJlamVjdGVkLlxuICAgICAqL1xuICAgIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgudXNlcm5hbWUgPSB1c2VybmFtZTtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnBhc3N3b3JkID0gcGFzc3dvcmQ7XG5cbiAgICAgICAgY29uc3QgbG9naW5SZXF1ZXN0OiBhbnkgPSB7fTtcblxuICAgICAgICBsb2dpblJlcXVlc3QudXNlcklkID0gdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnVzZXJuYW1lO1xuICAgICAgICBsb2dpblJlcXVlc3QucGFzc3dvcmQgPSB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgucGFzc3dvcmQ7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGlja2V0KGxvZ2luUmVxdWVzdClcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJuYW1lKHVzZXJuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUaWNrZXQoZGF0YS5lbnRyeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRmSHR0cENsaWVudC5lbWl0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dpbi5uZXh0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YS5lbnRyeS5pZCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJuYW1lKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgndW5hdXRob3JpemVkJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ3VuYXV0aG9yaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgnZm9yYmlkZGVuJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2ZvcmJpZGRlbicpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9nb3V0IEFsZnJlc2NvIEFQSVxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7IGF1dGhlbnRpY2F0aW9uIHRpY2tldH0gaWYgcmVzb2x2ZWQgYW5kIHtlcnJvcn0gaWYgcmVqZWN0ZWQuXG4gICAgICovXG4gICAgbG9nb3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJuYW1lKCcnKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlVGlja2V0KCkudGhlbihcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52YWxpZGF0ZVNlc3Npb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LmVtaXQoJ2xvZ291dCcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTG9nb3V0Lm5leHQoJ2xvZ291dCcpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCdsb2dvdXQnKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRmSHR0cENsaWVudC5lbWl0KCd1bmF1dGhvcml6ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvci5uZXh0KCd1bmF1dGhvcml6ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgnZXJyb3InKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IFRpY2tldFxuICAgICAqXG4gICAgICogQHBhcmFtIHRpY2tldCBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHRpY2tldFxuICAgICAqL1xuICAgIHNldFRpY2tldCh0aWNrZXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgudXNlcm5hbWUgPSAnUk9MRV9USUNLRVQnO1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgucGFzc3dvcmQgPSB0aWNrZXQ7XG4gICAgICAgIHRoaXMuY29uZmlnLnRpY2tldEVjbSA9IHRpY2tldDtcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKEFwcENvbmZpZ1ZhbHVlcy5DT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMLCB0aWNrZXQpO1xuICAgICAgICB0aGlzLnRpY2tldCA9IHRpY2tldDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgY3VycmVudCBUaWNrZXRcbiAgICAgKi9cbiAgICBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMudGlja2V0KSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dCgnZXJyb3InKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnRpY2tldDtcbiAgICB9XG5cbiAgICBpbnZhbGlkYXRlU2Vzc2lvbigpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKEFwcENvbmZpZ1ZhbHVlcy5DT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMKTtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnVzZXJuYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnBhc3N3b3JkID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb25maWcudGlja2V0RWNtID0gbnVsbDtcbiAgICAgICAgdGhpcy50aWNrZXQgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIElmIHRoZSBjbGllbnQgaXMgbG9nZ2VkIGluIHJldHVybiB0cnVlXG4gICAgICovXG4gICAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50aWNrZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgcmV0dXJuIHRoZSBBdXRoZW50aWNhdGlvblxuICAgICAqL1xuICAgIGdldEF1dGhlbnRpY2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGlvbnM7XG4gICAgfVxuXG4gICAgY3JlYXRlVGlja2V0KHRpY2tldEJvZHlDcmVhdGU6IFRpY2tldEJvZHkpOiBQcm9taXNlPFRpY2tldEVudHJ5PiB7XG4gICAgICAgIGlmICh0aWNrZXRCb2R5Q3JlYXRlID09PSBudWxsIHx8IHRpY2tldEJvZHlDcmVhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoYE1pc3NpbmcgcGFyYW0gdGlja2V0Qm9keUNyZWF0ZWApO1xuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcGFyYW0gdGlja2V0Qm9keUNyZWF0ZWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYWRmSHR0cENsaWVudC5wb3N0KHRoaXMuYmFzZVBhdGggKyAnL3RpY2tldHMnLCB7IGJvZHlQYXJhbTogdGlja2V0Qm9keUNyZWF0ZSB9KTtcbiAgICB9XG5cbiAgICBhc3luYyByZXF1aXJlQWxmVGlja2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB0aWNrZXQgPSBhd2FpdCB0aGlzLmFkZkh0dHBDbGllbnQuZ2V0KHRoaXMuYmFzZVBhdGggKyAnL3RpY2tldHMvLW1lLScpO1xuICAgICAgICB0aGlzLnNldFRpY2tldCh0aWNrZXQuZW50cnkuaWQpO1xuICAgIH1cblxuICAgIGRlbGV0ZVRpY2tldCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGZIdHRwQ2xpZW50LmRlbGV0ZSh0aGlzLmJhc2VQYXRoICsgJy90aWNrZXRzLy1tZS0nKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,193 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Injectable } from '@angular/core';
18
+ import { AdfHttpClient } from '@alfresco/adf-core/api';
19
+ import { AppConfigService, AppConfigValues } from '../../app-config/app-config.service';
20
+ import { StorageService } from '../../common/services/storage.service';
21
+ import { ReplaySubject, Subject } from 'rxjs';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../app-config/app-config.service";
24
+ import * as i2 from "@alfresco/adf-core/api";
25
+ import * as i3 from "../../common/services/storage.service";
26
+ export class ProcessAuth {
27
+ get basePath() {
28
+ const contextRootBpm = this.appConfigService.get(AppConfigValues.CONTEXTROOTBPM) || 'activiti-app';
29
+ return this.appConfigService.get(AppConfigValues.BPMHOST) + '/' + contextRootBpm;
30
+ }
31
+ constructor(appConfigService, adfHttpClient, storageService) {
32
+ this.appConfigService = appConfigService;
33
+ this.adfHttpClient = adfHttpClient;
34
+ this.storageService = storageService;
35
+ this.onLogin = new ReplaySubject(1);
36
+ this.onLogout = new ReplaySubject(1);
37
+ this.onError = new Subject();
38
+ this.config = {
39
+ ticketBpm: null
40
+ };
41
+ this.authentications = {
42
+ basicAuth: { ticket: '' },
43
+ type: 'activiti'
44
+ };
45
+ this.appConfigService.onLoad.subscribe(() => {
46
+ this.setConfig();
47
+ });
48
+ }
49
+ setConfig() {
50
+ this.ticket = undefined;
51
+ this.setTicket(this.storageService.getItem(AppConfigValues.PROCESS_TICKET_STORAGE_LABEL));
52
+ }
53
+ saveUsername(username) {
54
+ this.storageService.setItem('APS_USERNAME', username);
55
+ }
56
+ getUsername() {
57
+ return this.storageService.getItem('APS_USERNAME');
58
+ }
59
+ /**
60
+ * login Activiti API
61
+ *
62
+ * @param username Username to login
63
+ * @param password Password to login
64
+ * @returns A promise that returns {new authentication ticket} if resolved and {error} if rejected.
65
+ */
66
+ login(username, password) {
67
+ this.authentications.basicAuth.username = username;
68
+ this.authentications.basicAuth.password = password;
69
+ const options = {
70
+ headerParams: {
71
+ 'Content-Type': 'application/x-www-form-urlencoded',
72
+ 'Cache-Control': 'no-cache'
73
+ },
74
+ formParams: {
75
+ j_username: this.authentications.basicAuth.username,
76
+ j_password: this.authentications.basicAuth.password,
77
+ _spring_security_remember_me: true,
78
+ submit: 'Login'
79
+ },
80
+ contentType: 'application/x-www-form-urlencoded',
81
+ accept: 'application/json'
82
+ };
83
+ const promise = new Promise((resolve, reject) => {
84
+ this.adfHttpClient.post(this.basePath + '/app/authentication', options).then(() => {
85
+ this.saveUsername(username);
86
+ const ticket = this.basicAuth(this.authentications.basicAuth.username, this.authentications.basicAuth.password);
87
+ this.setTicket(ticket);
88
+ this.onLogin.next('success');
89
+ this.adfHttpClient.emit('success');
90
+ this.adfHttpClient.emit('logged-in');
91
+ resolve(ticket);
92
+ }, (error) => {
93
+ this.saveUsername('');
94
+ if (error.status === 401) {
95
+ this.adfHttpClient.emit('unauthorized', error);
96
+ this.onError.next('unauthorized');
97
+ }
98
+ else if (error.status === 403) {
99
+ this.adfHttpClient.emit('forbidden', error);
100
+ this.onError.next('forbidden');
101
+ }
102
+ else {
103
+ this.adfHttpClient.emit('error', error);
104
+ this.onError.next('error');
105
+ }
106
+ reject(error);
107
+ });
108
+ });
109
+ return promise;
110
+ }
111
+ /**
112
+ * logout Alfresco API
113
+ *
114
+ * @returns A promise that returns {new authentication ticket} if resolved and {error} if rejected.
115
+ */
116
+ async logout() {
117
+ this.saveUsername('');
118
+ return new Promise((resolve, reject) => {
119
+ this.adfHttpClient.get(this.basePath + `/app/logout`, {}).then(() => {
120
+ this.invalidateSession();
121
+ this.onLogout.next('logout');
122
+ this.adfHttpClient.emit('logout');
123
+ resolve('logout');
124
+ }, (error) => {
125
+ if (error.status === 401) {
126
+ this.adfHttpClient.emit('unauthorized');
127
+ this.onError.next('unauthorized');
128
+ }
129
+ this.adfHttpClient.emit('error');
130
+ this.onError.next('error');
131
+ reject(error);
132
+ });
133
+ });
134
+ }
135
+ basicAuth(username, password) {
136
+ const str = username + ':' + password;
137
+ let base64;
138
+ if (typeof Buffer === 'function') {
139
+ base64 = Buffer.from(str.toString(), 'binary').toString('base64');
140
+ }
141
+ else {
142
+ base64 = btoa(str);
143
+ }
144
+ return `Basic ${base64}`;
145
+ }
146
+ /**
147
+ * Set the current Ticket
148
+ *
149
+ * @param ticket a string representing the ticket
150
+ */
151
+ setTicket(ticket) {
152
+ if (ticket && ticket !== 'null') {
153
+ this.authentications.basicAuth.ticket = ticket;
154
+ this.authentications.basicAuth.password = null;
155
+ this.config.ticketBpm = ticket;
156
+ this.storageService.setItem(AppConfigValues.PROCESS_TICKET_STORAGE_LABEL, ticket);
157
+ this.ticket = ticket;
158
+ }
159
+ }
160
+ invalidateSession() {
161
+ this.storageService.removeItem(AppConfigValues.PROCESS_TICKET_STORAGE_LABEL);
162
+ this.authentications.basicAuth.ticket = null;
163
+ this.authentications.basicAuth.password = null;
164
+ this.authentications.basicAuth.username = null;
165
+ this.config.ticketBpm = null;
166
+ this.ticket = null;
167
+ }
168
+ /**
169
+ * @returns the current Ticket
170
+ */
171
+ getToken() {
172
+ if (!this.ticket) {
173
+ this.onError.next('error');
174
+ return null;
175
+ }
176
+ return this.ticket;
177
+ }
178
+ /**
179
+ * @returns If the client is logged in return true
180
+ */
181
+ isLoggedIn() {
182
+ return !!this.ticket;
183
+ }
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessAuth, deps: [{ token: i1.AppConfigService }, { token: i2.AdfHttpClient }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
185
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessAuth, providedIn: 'root' }); }
186
+ }
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessAuth, decorators: [{
188
+ type: Injectable,
189
+ args: [{
190
+ providedIn: 'root'
191
+ }]
192
+ }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i2.AdfHttpClient }, { type: i3.StorageService }] });
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL2Jhc2ljLWF1dGgvcHJvY2Vzcy1hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSzlDLE1BQU0sT0FBTyxXQUFXO0lBZXBCLElBQUksUUFBUTtRQUNSLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQztRQUMzRyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxjQUFjLENBQUM7SUFDN0YsQ0FBQztJQUVELFlBQW9CLGdCQUFrQyxFQUFVLGFBQTRCLEVBQVUsY0FBOEI7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBbkJwSSxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FB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b3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkZkh0dHBDbGllbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUvYXBpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hdXRoZW50aWNhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgQXBwQ29uZmlnVmFsdWVzIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzQXV0aCB7XG4gICAgb25Mb2dpbiA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dvdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uRXJyb3IgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICB0aWNrZXQ6IHN0cmluZztcbiAgICBjb25maWcgPSB7XG4gICAgICAgIHRpY2tldEJwbTogbnVsbFxuICAgIH07XG5cbiAgICBhdXRoZW50aWNhdGlvbnM6IEF1dGhlbnRpY2F0aW9uID0ge1xuICAgICAgICBiYXNpY0F1dGg6IHsgdGlja2V0OiAnJyB9LFxuICAgICAgICB0eXBlOiAnYWN0aXZpdGknXG4gICAgfTtcblxuICAgIGdldCBiYXNlUGF0aCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjb250ZXh0Um9vdEJwbSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuQ09OVEVYVFJPT1RCUE0pIHx8ICdhY3Rpdml0aS1hcHAnO1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5CUE1IT1NUKSArICcvJyArIGNvbnRleHRSb290QnBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBhZGZIdHRwQ2xpZW50OiBBZGZIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSkge1xuICAgICAgICB0aGlzLmFwcENvbmZpZ1NlcnZpY2Uub25Mb2FkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldENvbmZpZygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENvbmZpZygpIHtcbiAgICAgICAgdGhpcy50aWNrZXQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGhpcy5zZXRUaWNrZXQodGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKEFwcENvbmZpZ1ZhbHVlcy5QUk9DRVNTX1RJQ0tFVF9TVE9SQUdFX0xBQkVMKSk7XG4gICAgfVxuXG4gICAgc2F2ZVVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdBUFNfVVNFUk5BTUUnLCB1c2VybmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0VXNlcm5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ0FQU19VU0VSTkFNRScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvZ2luIEFjdGl2aXRpIEFQSVxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJuYW1lIFVzZXJuYW1lIHRvIGxvZ2luXG4gICAgICogQHBhcmFtIHBhc3N3b3JkIFBhc3N3b3JkIHRvIGxvZ2luXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7bmV3IGF1dGhlbnRpY2F0aW9uIHRpY2tldH0gaWYgcmVzb2x2ZWQgYW5kIHtlcnJvcn0gaWYgcmVqZWN0ZWQuXG4gICAgICovXG4gICAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25zLmJhc2ljQXV0aC51c2VybmFtZSA9IHVzZXJuYW1lO1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgucGFzc3dvcmQgPSBwYXNzd29yZDtcblxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgaGVhZGVyUGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgICAgICAgICAgICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvcm1QYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBqX3VzZXJuYW1lOiB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgudXNlcm5hbWUsXG4gICAgICAgICAgICAgICAgal9wYXNzd29yZDogdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnBhc3N3b3JkLFxuICAgICAgICAgICAgICAgIF9zcHJpbmdfc2VjdXJpdHlfcmVtZW1iZXJfbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgc3VibWl0OiAnTG9naW4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgICAgICAgICAgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBwcm9taXNlOiBhbnkgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQucG9zdCh0aGlzLmJhc2VQYXRoICsgJy9hcHAvYXV0aGVudGljYXRpb24nLCBvcHRpb25zKS50aGVuKFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlVXNlcm5hbWUodXNlcm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aWNrZXQgPSB0aGlzLmJhc2ljQXV0aCh0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgudXNlcm5hbWUsIHRoaXMuYXV0aGVudGljYXRpb25zLmJhc2ljQXV0aC5wYXNzd29yZCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VGlja2V0KHRpY2tldCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dpbi5uZXh0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRmSHR0cENsaWVudC5lbWl0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRmSHR0cENsaWVudC5lbWl0KCdsb2dnZWQtaW4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aWNrZXQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJuYW1lKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgndW5hdXRob3JpemVkJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ3VuYXV0aG9yaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgnZm9yYmlkZGVuJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2ZvcmJpZGRlbicpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBsb2dvdXQgQWxmcmVzY28gQVBJXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXR1cm5zIHtuZXcgYXV0aGVudGljYXRpb24gdGlja2V0fSBpZiByZXNvbHZlZCBhbmQge2Vycm9yfSBpZiByZWplY3RlZC5cbiAgICAgKi9cbiAgICBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdGhpcy5zYXZlVXNlcm5hbWUoJycpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LmdldCh0aGlzLmJhc2VQYXRoICsgYC9hcHAvbG9nb3V0YCwge30pLnRoZW4oXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWRhdGVTZXNzaW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dvdXQubmV4dCgnbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRmSHR0cENsaWVudC5lbWl0KCdsb2dvdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQuZW1pdCgndW5hdXRob3JpemVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dCgndW5hdXRob3JpemVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LmVtaXQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvci5uZXh0KCdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJhc2ljQXV0aCh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc3RyOiBhbnkgPSB1c2VybmFtZSArICc6JyArIHBhc3N3b3JkO1xuXG4gICAgICAgIGxldCBiYXNlNjQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBCdWZmZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGJhc2U2NCA9IEJ1ZmZlci5mcm9tKHN0ci50b1N0cmluZygpLCAnYmluYXJ5JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYmFzZTY0ID0gYnRvYShzdHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGBCYXNpYyAke2Jhc2U2NH1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBUaWNrZXRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aWNrZXQgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0aWNrZXRcbiAgICAgKi9cbiAgICBzZXRUaWNrZXQodGlja2V0OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRpY2tldCAmJiB0aWNrZXQgIT09ICdudWxsJykge1xuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnRpY2tldCA9IHRpY2tldDtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25zLmJhc2ljQXV0aC5wYXNzd29yZCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aWNrZXRCcG0gPSB0aWNrZXQ7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQXBwQ29uZmlnVmFsdWVzLlBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwsIHRpY2tldCk7XG4gICAgICAgICAgICB0aGlzLnRpY2tldCA9IHRpY2tldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGludmFsaWRhdGVTZXNzaW9uKCkge1xuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oQXBwQ29uZmlnVmFsdWVzLlBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwpO1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9ucy5iYXNpY0F1dGgudGlja2V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnBhc3N3b3JkID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbnMuYmFzaWNBdXRoLnVzZXJuYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb25maWcudGlja2V0QnBtID0gbnVsbDtcbiAgICAgICAgdGhpcy50aWNrZXQgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSBjdXJyZW50IFRpY2tldFxuICAgICAqL1xuICAgIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy50aWNrZXQpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvci5uZXh0KCdlcnJvcicpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50aWNrZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgSWYgdGhlIGNsaWVudCBpcyBsb2dnZWQgaW4gcmV0dXJuIHRydWVcbiAgICAgKi9cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRpY2tldDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { inject } from '@angular/core';
18
+ import { AuthenticationService } from '../services/authentication.service';
19
+ import { AuthGuardService } from './auth-guard.service';
20
+ export const AuthGuardBpm = async (_, state) => {
21
+ const authGuardBaseService = inject(AuthGuardService);
22
+ const authenticationService = inject(AuthenticationService);
23
+ if (authenticationService.isLoggedIn() && authenticationService.isOauth() && authGuardBaseService.isLoginFragmentPresent()) {
24
+ return authGuardBaseService.redirectSSOSuccessURL();
25
+ }
26
+ if (authenticationService.isBpmLoggedIn() || authGuardBaseService.withCredentials) {
27
+ return true;
28
+ }
29
+ return authGuardBaseService.redirectToUrl(state.url);
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC1icG0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9ndWFyZC9hdXRoLWd1YXJkLWJwbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQixLQUFLLEVBQUUsQ0FBeUIsRUFBRSxLQUEwQixFQUFvQixFQUFFO0lBQ3pILE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUU1RCxJQUFJLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxJQUFJLG9CQUFvQixDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztRQUN6SCxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUkscUJBQXFCLENBQUMsYUFBYSxFQUFFLElBQUksb0JBQW9CLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhHdWFyZFNlcnZpY2UgfSBmcm9tICcuL2F1dGgtZ3VhcmQuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBBdXRoR3VhcmRCcG06IENhbkFjdGl2YXRlRm4gPSBhc3luYyAoXzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCBhdXRoR3VhcmRCYXNlU2VydmljZSA9IGluamVjdChBdXRoR3VhcmRTZXJ2aWNlKTtcbiAgICBjb25zdCBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcblxuICAgIGlmIChhdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWRJbigpICYmIGF1dGhlbnRpY2F0aW9uU2VydmljZS5pc09hdXRoKCkgJiYgYXV0aEd1YXJkQmFzZVNlcnZpY2UuaXNMb2dpbkZyYWdtZW50UHJlc2VudCgpKSB7XG4gICAgICAgIHJldHVybiBhdXRoR3VhcmRCYXNlU2VydmljZS5yZWRpcmVjdFNTT1N1Y2Nlc3NVUkwoKTtcbiAgICB9XG5cbiAgICBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQnBtTG9nZ2VkSW4oKSB8fCBhdXRoR3VhcmRCYXNlU2VydmljZS53aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF1dGhHdWFyZEJhc2VTZXJ2aWNlLnJlZGlyZWN0VG9Vcmwoc3RhdGUudXJsKTtcbn07XG4iXX0=
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { AuthenticationService } from '../services/authentication.service';
18
+ import { AuthGuardService } from './auth-guard.service';
19
+ import { inject } from '@angular/core';
20
+ export const AuthGuardEcm = async (_, state) => {
21
+ const authGuardBaseService = inject(AuthGuardService);
22
+ const authenticationService = inject(AuthenticationService);
23
+ if (authenticationService.isLoggedIn() && authenticationService.isOauth() && authGuardBaseService.isLoginFragmentPresent()) {
24
+ return authGuardBaseService.redirectSSOSuccessURL();
25
+ }
26
+ if (authenticationService.isEcmLoggedIn() || authGuardBaseService.withCredentials) {
27
+ return true;
28
+ }
29
+ return authGuardBaseService.redirectToUrl(state.url);
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC1lY20uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9ndWFyZC9hdXRoLWd1YXJkLWVjbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUdILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFrQixLQUFLLEVBQUUsQ0FBeUIsRUFBRSxLQUEwQixFQUFvQixFQUFFO0lBQ3pILE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUU1RCxJQUFJLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxJQUFJLG9CQUFvQixDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztRQUN6SCxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUkscUJBQXFCLENBQUMsYUFBYSxFQUFFLElBQUksb0JBQW9CLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoR3VhcmRTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWd1YXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBdXRoR3VhcmRFY206IENhbkFjdGl2YXRlRm4gPSBhc3luYyAoXzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCBhdXRoR3VhcmRCYXNlU2VydmljZSA9IGluamVjdChBdXRoR3VhcmRTZXJ2aWNlKTtcbiAgICBjb25zdCBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcblxuICAgIGlmIChhdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWRJbigpICYmIGF1dGhlbnRpY2F0aW9uU2VydmljZS5pc09hdXRoKCkgJiYgYXV0aEd1YXJkQmFzZVNlcnZpY2UuaXNMb2dpbkZyYWdtZW50UHJlc2VudCgpKSB7XG4gICAgICAgIHJldHVybiBhdXRoR3VhcmRCYXNlU2VydmljZS5yZWRpcmVjdFNTT1N1Y2Nlc3NVUkwoKTtcbiAgICB9XG5cbiAgICBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmlzRWNtTG9nZ2VkSW4oKSB8fCBhdXRoR3VhcmRCYXNlU2VydmljZS53aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF1dGhHdWFyZEJhc2VTZXJ2aWNlLnJlZGlyZWN0VG9Vcmwoc3RhdGUudXJsKTtcbn07XG4iXX0=
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { inject } from '@angular/core';
18
+ import { Router } from '@angular/router';
19
+ import { MatDialog } from '@angular/material/dialog';
20
+ import { UserAccessService } from '../services/user-access.service';
21
+ export const AuthGuardSsoRoleService = (route) => {
22
+ const userAccessService = inject(UserAccessService);
23
+ userAccessService.fetchUserAccess();
24
+ let hasRealmRole = false;
25
+ let hasClientRole = true;
26
+ if (route.data) {
27
+ if (route.data['roles']) {
28
+ const rolesToCheck = route.data['roles'];
29
+ if (rolesToCheck.length === 0) {
30
+ hasRealmRole = true;
31
+ }
32
+ else {
33
+ const excludedRoles = route.data['excludedRoles'] || [];
34
+ if (excludedRoles?.length > 0) {
35
+ hasRealmRole = userAccessService.hasGlobalAccess(rolesToCheck) && !userAccessService.hasGlobalAccess(excludedRoles);
36
+ }
37
+ hasRealmRole = userAccessService.hasGlobalAccess(rolesToCheck);
38
+ }
39
+ }
40
+ if (route.data['clientRoles']) {
41
+ const clientRoleName = route.params[route.data['clientRoles']];
42
+ const rolesToCheck = route.data['roles'];
43
+ hasClientRole = userAccessService.hasApplicationAccess(clientRoleName, rolesToCheck);
44
+ }
45
+ }
46
+ const hasRole = hasRealmRole && hasClientRole;
47
+ if (!hasRole && route?.data?.['redirectUrl']) {
48
+ const router = inject(Router);
49
+ router.navigate(['/' + route.data['redirectUrl']]);
50
+ }
51
+ if (!hasRole) {
52
+ const dialog = inject(MatDialog);
53
+ dialog.closeAll();
54
+ }
55
+ return hasRole;
56
+ };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC1zc28tcm9sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL2d1YXJkL2F1dGgtZ3VhcmQtc3NvLXJvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBeUMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFrQixDQUFDLEtBQTZCLEVBQVcsRUFBRTtJQUM3RixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBRXBDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztJQUN6QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDekIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLFlBQVksR0FBYSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hELElBQUksYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDeEgsQ0FBQztnQkFDRCxZQUFZLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDL0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxhQUFhLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3pGLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxJQUFJLGFBQWEsQ0FBQztJQUU5QyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDWCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VzZXItYWNjZXNzLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQXV0aEd1YXJkU3NvUm9sZVNlcnZpY2U6IENhbkFjdGl2YXRlRm4gPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCB1c2VyQWNjZXNzU2VydmljZSA9IGluamVjdChVc2VyQWNjZXNzU2VydmljZSk7XG4gICAgdXNlckFjY2Vzc1NlcnZpY2UuZmV0Y2hVc2VyQWNjZXNzKCk7XG5cbiAgICBsZXQgaGFzUmVhbG1Sb2xlID0gZmFsc2U7XG4gICAgbGV0IGhhc0NsaWVudFJvbGUgPSB0cnVlO1xuICAgIGlmIChyb3V0ZS5kYXRhKSB7XG4gICAgICAgIGlmIChyb3V0ZS5kYXRhWydyb2xlcyddKSB7XG4gICAgICAgICAgICBjb25zdCByb2xlc1RvQ2hlY2s6IHN0cmluZ1tdID0gcm91dGUuZGF0YVsncm9sZXMnXTtcbiAgICAgICAgICAgIGlmIChyb2xlc1RvQ2hlY2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaGFzUmVhbG1Sb2xlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhjbHVkZWRSb2xlcyA9IHJvdXRlLmRhdGFbJ2V4Y2x1ZGVkUm9sZXMnXSB8fCBbXTtcbiAgICAgICAgICAgICAgICBpZiAoZXhjbHVkZWRSb2xlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBoYXNSZWFsbVJvbGUgPSB1c2VyQWNjZXNzU2VydmljZS5oYXNHbG9iYWxBY2Nlc3Mocm9sZXNUb0NoZWNrKSAmJiAhdXNlckFjY2Vzc1NlcnZpY2UuaGFzR2xvYmFsQWNjZXNzKGV4Y2x1ZGVkUm9sZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoYXNSZWFsbVJvbGUgPSB1c2VyQWNjZXNzU2VydmljZS5oYXNHbG9iYWxBY2Nlc3Mocm9sZXNUb0NoZWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyb3V0ZS5kYXRhWydjbGllbnRSb2xlcyddKSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnRSb2xlTmFtZSA9IHJvdXRlLnBhcmFtc1tyb3V0ZS5kYXRhWydjbGllbnRSb2xlcyddXTtcbiAgICAgICAgICAgIGNvbnN0IHJvbGVzVG9DaGVjayA9IHJvdXRlLmRhdGFbJ3JvbGVzJ107XG4gICAgICAgICAgICBoYXNDbGllbnRSb2xlID0gdXNlckFjY2Vzc1NlcnZpY2UuaGFzQXBwbGljYXRpb25BY2Nlc3MoY2xpZW50Um9sZU5hbWUsIHJvbGVzVG9DaGVjayk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaGFzUm9sZSA9IGhhc1JlYWxtUm9sZSAmJiBoYXNDbGllbnRSb2xlO1xuXG4gICAgaWYgKCFoYXNSb2xlICYmIHJvdXRlPy5kYXRhPy5bJ3JlZGlyZWN0VXJsJ10pIHtcbiAgICAgICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy8nICsgcm91dGUuZGF0YVsncmVkaXJlY3RVcmwnXV0pO1xuICAgIH1cblxuICAgIGlmICghaGFzUm9sZSkge1xuICAgICAgICBjb25zdCBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgICAgICAgZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhc1JvbGU7XG59O1xuIl19