@alfresco/adf-core 8.1.0-16295248176 → 8.1.0-16320806191
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.
- package/bundles/assets/adf-core/i18n/de.json +1 -1
- package/bundles/assets/adf-core/i18n/es.json +1 -1
- package/bundles/assets/adf-core/i18n/fr.json +1 -1
- package/bundles/assets/adf-core/i18n/it.json +1 -1
- package/bundles/assets/adf-core/i18n/pl.json +1 -1
- package/bundles/assets/adf-core/i18n/pt.json +1 -1
- package/esm2022/adf-core.mjs +5 -0
- package/esm2022/api/alfresco-adf-core-api.mjs +5 -0
- package/esm2022/api/index.mjs +20 -0
- package/esm2022/api/lib/adf-http-client.service.mjs +311 -0
- package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +33 -0
- package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +25 -0
- package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +80 -0
- package/esm2022/api/lib/interfaces.mjs +18 -0
- package/esm2022/api/lib/types.mjs +18 -0
- package/esm2022/auth/alfresco-adf-core-auth.mjs +5 -0
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +56 -0
- package/esm2022/auth/authentication.mjs +19 -0
- package/esm2022/auth/index.mjs +19 -0
- package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +5 -0
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +82 -0
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +42 -0
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +44 -0
- package/esm2022/breadcrumbs/index.mjs +19 -0
- package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +5 -0
- package/esm2022/feature-flags/index.mjs +29 -0
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +36 -0
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +56 -0
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +129 -0
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +63 -0
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +63 -0
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +38 -0
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +38 -0
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +40 -0
- package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +24 -0
- package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +62 -0
- package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +51 -0
- package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +36 -0
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +94 -0
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +40 -0
- package/esm2022/feature-flags/lib/services/flagset.parser.mjs +38 -0
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +62 -0
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +126 -0
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +51 -0
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +51 -0
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +51 -0
- package/esm2022/lib/about/about-package/package-list.component.mjs +65 -0
- package/esm2022/lib/about/about-panel.directive.mjs +37 -0
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +59 -0
- package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +18 -0
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +42 -0
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +51 -0
- package/esm2022/lib/about/about.component.mjs +35 -0
- package/esm2022/lib/about/about.module.mjs +75 -0
- package/esm2022/lib/about/index.mjs +18 -0
- package/esm2022/lib/about/interfaces.mjs +18 -0
- package/esm2022/lib/about/public-api.mjs +28 -0
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +51 -0
- package/esm2022/lib/app-config/app-config.loader.mjs +41 -0
- package/esm2022/lib/app-config/app-config.module.mjs +33 -0
- package/esm2022/lib/app-config/app-config.pipe.mjs +38 -0
- package/esm2022/lib/app-config/app-config.service.mjs +243 -0
- package/esm2022/lib/app-config/debug-app-config.service.mjs +44 -0
- package/esm2022/lib/app-config/index.mjs +18 -0
- package/esm2022/lib/app-config/public-api.mjs +22 -0
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +67 -0
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +356 -0
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +189 -0
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +193 -0
- package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +31 -0
- package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +31 -0
- package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +57 -0
- package/esm2022/lib/auth/guard/auth-guard.mjs +53 -0
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +113 -0
- package/esm2022/lib/auth/index.mjs +18 -0
- package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +18 -0
- package/esm2022/lib/auth/interfaces/authentication.interface.mjs +18 -0
- package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +18 -0
- package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +18 -0
- package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +18 -0
- package/esm2022/lib/auth/models/application-access.model.mjs +18 -0
- package/esm2022/lib/auth/models/identity-group.model.mjs +18 -0
- package/esm2022/lib/auth/models/identity-role.model.mjs +30 -0
- package/esm2022/lib/auth/models/identity-user.model.mjs +18 -0
- package/esm2022/lib/auth/models/oauth-config.model.mjs +18 -0
- package/esm2022/lib/auth/models/redirection.model.mjs +28 -0
- package/esm2022/lib/auth/models/user-access.model.mjs +18 -0
- package/esm2022/lib/auth/oidc/auth-config.mjs +19 -0
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +110 -0
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +34 -0
- package/esm2022/lib/auth/oidc/auth.module.mjs +112 -0
- package/esm2022/lib/auth/oidc/auth.service.mjs +22 -0
- package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +37 -0
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +202 -0
- package/esm2022/lib/auth/oidc/public-api.mjs +24 -0
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +267 -0
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +66 -0
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +62 -0
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +31 -0
- package/esm2022/lib/auth/public-api.mjs +44 -0
- package/esm2022/lib/auth/services/authentication.service.mjs +190 -0
- package/esm2022/lib/auth/services/base-authentication.service.mjs +99 -0
- package/esm2022/lib/auth/services/identity-group.service.mjs +269 -0
- package/esm2022/lib/auth/services/identity-role.service.mjs +99 -0
- package/esm2022/lib/auth/services/identity-user.service.mjs +443 -0
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +205 -0
- package/esm2022/lib/auth/services/oauth2.service.mjs +69 -0
- package/esm2022/lib/auth/services/time-sync.service.mjs +83 -0
- package/esm2022/lib/auth/services/user-access.service.mjs +110 -0
- package/esm2022/lib/avatar/avatar.component.mjs +51 -0
- package/esm2022/lib/blank-page/blank-page.component.mjs +31 -0
- package/esm2022/lib/blank-page/blank-page.module.mjs +33 -0
- package/esm2022/lib/blank-page/index.mjs +18 -0
- package/esm2022/lib/blank-page/public-api.mjs +19 -0
- package/esm2022/lib/button/button.component.mjs +61 -0
- package/esm2022/lib/card-view/card-view.module.mjs +80 -0
- package/esm2022/lib/card-view/components/base-card-view.mjs +51 -0
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +66 -0
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +55 -0
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +39 -0
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +182 -0
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +108 -0
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +64 -0
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +46 -0
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +137 -0
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +113 -0
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +239 -0
- package/esm2022/lib/card-view/components/card-view.components.mjs +28 -0
- package/esm2022/lib/card-view/index.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +29 -0
- package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +18 -0
- package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +18 -0
- package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +28 -0
- package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +64 -0
- package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +36 -0
- package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +58 -0
- package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +28 -0
- package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +33 -0
- package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +36 -0
- package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +27 -0
- package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +36 -0
- package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +32 -0
- package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +41 -0
- package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +40 -0
- package/esm2022/lib/card-view/models/card-view.models.mjs +29 -0
- package/esm2022/lib/card-view/public-api.mjs +25 -0
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +54 -0
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +59 -0
- package/esm2022/lib/card-view/services/card-view.services.mjs +19 -0
- package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +31 -0
- package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +35 -0
- package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +34 -0
- package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +35 -0
- package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +35 -0
- package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +35 -0
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +32 -0
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +31 -0
- package/esm2022/lib/card-view/validators/card-view.validators.mjs +26 -0
- package/esm2022/lib/card-view/validators/validators.map.mjs +26 -0
- package/esm2022/lib/clipboard/clipboard.directive.mjs +98 -0
- package/esm2022/lib/clipboard/clipboard.module.mjs +34 -0
- package/esm2022/lib/clipboard/clipboard.service.mjs +103 -0
- package/esm2022/lib/clipboard/index.mjs +18 -0
- package/esm2022/lib/clipboard/public-api.mjs +21 -0
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +52 -0
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +33 -0
- package/esm2022/lib/comments/comment-list/index.mjs +18 -0
- package/esm2022/lib/comments/comment-list/public-api.mjs +19 -0
- package/esm2022/lib/comments/comments.component.mjs +132 -0
- package/esm2022/lib/comments/comments.module.mjs +33 -0
- package/esm2022/lib/comments/index.mjs +18 -0
- package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +18 -0
- package/esm2022/lib/comments/interfaces/comments.token.mjs +19 -0
- package/esm2022/lib/comments/public-api.mjs +22 -0
- package/esm2022/lib/common/index.mjs +35 -0
- package/esm2022/lib/common/interface/search-component.interface.mjs +18 -0
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +47 -0
- package/esm2022/lib/common/models/default-languages.model.mjs +36 -0
- package/esm2022/lib/common/models/log-levels.model.mjs +33 -0
- package/esm2022/lib/common/models/user-info-mode.enum.mjs +25 -0
- package/esm2022/lib/common/services/cookie.service.mjs +82 -0
- package/esm2022/lib/common/services/download.service.mjs +102 -0
- package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +89 -0
- package/esm2022/lib/common/services/highlight-transform.service.mjs +61 -0
- package/esm2022/lib/common/services/language-item.interface.mjs +18 -0
- package/esm2022/lib/common/services/log.service.mjs +171 -0
- package/esm2022/lib/common/services/page-title.service.mjs +63 -0
- package/esm2022/lib/common/services/sort-by-category.service.mjs +81 -0
- package/esm2022/lib/common/services/storage.service.mjs +143 -0
- package/esm2022/lib/common/services/thumbnail.service.mjs +194 -0
- package/esm2022/lib/common/services/url.service.mjs +45 -0
- package/esm2022/lib/common/services/user-preferences.service.mjs +238 -0
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +115 -0
- package/esm2022/lib/common/utils/date-fns-utils.mjs +222 -0
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +134 -0
- package/esm2022/lib/common/utils/file-utils.mjs +65 -0
- package/esm2022/lib/common/utils/index.mjs +18 -0
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +202 -0
- package/esm2022/lib/common/utils/moment-date-formats.model.mjs +32 -0
- package/esm2022/lib/common/utils/object-utils.mjs +107 -0
- package/esm2022/lib/common/utils/public-api.mjs +25 -0
- package/esm2022/lib/common/utils/string-utils.mjs +45 -0
- package/esm2022/lib/context-menu/animations.mjs +33 -0
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +91 -0
- package/esm2022/lib/context-menu/context-menu-overlay.mjs +25 -0
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +109 -0
- package/esm2022/lib/context-menu/context-menu.directive.mjs +63 -0
- package/esm2022/lib/context-menu/context-menu.module.mjs +35 -0
- package/esm2022/lib/context-menu/context-menu.tokens.mjs +19 -0
- package/esm2022/lib/context-menu/index.mjs +18 -0
- package/esm2022/lib/context-menu/interfaces.mjs +18 -0
- package/esm2022/lib/context-menu/public-api.mjs +21 -0
- package/esm2022/lib/core.module.mjs +314 -0
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +45 -0
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +65 -0
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +55 -0
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +113 -0
- package/esm2022/lib/datatable/components/data-cell.event.mjs +31 -0
- package/esm2022/lib/datatable/components/data-row-action.event.mjs +34 -0
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +914 -0
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +126 -0
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +98 -0
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +78 -0
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +60 -0
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +49 -0
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +67 -0
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +86 -0
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +69 -0
- package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +153 -0
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +42 -0
- package/esm2022/lib/datatable/data/data-column.model.mjs +18 -0
- package/esm2022/lib/datatable/data/data-row-event.model.mjs +26 -0
- package/esm2022/lib/datatable/data/data-row-update.model.mjs +18 -0
- package/esm2022/lib/datatable/data/data-row.model.mjs +18 -0
- package/esm2022/lib/datatable/data/data-sorting.model.mjs +24 -0
- package/esm2022/lib/datatable/data/data-table.schema.mjs +132 -0
- package/esm2022/lib/datatable/data/datatable-adapter.mjs +18 -0
- package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +46 -0
- package/esm2022/lib/datatable/data/object-datarow.model.mjs +41 -0
- package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +134 -0
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +45 -0
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +36 -0
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +114 -0
- package/esm2022/lib/datatable/data-column/index.mjs +18 -0
- package/esm2022/lib/datatable/data-column/public-api.mjs +20 -0
- package/esm2022/lib/datatable/datatable.module.mjs +161 -0
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +35 -0
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +30 -0
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +35 -0
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +89 -0
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +43 -0
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +46 -0
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +43 -0
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +46 -0
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +46 -0
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +173 -0
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +72 -0
- package/esm2022/lib/datatable/directives/resizable/types.mjs +18 -0
- package/esm2022/lib/datatable/index.mjs +18 -0
- package/esm2022/lib/datatable/public-api.mjs +55 -0
- package/esm2022/lib/datatable/services/datatable.service.mjs +33 -0
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +50 -0
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +38 -0
- package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +18 -0
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +70 -0
- package/esm2022/lib/dialogs/dialog/dialog.model.mjs +22 -0
- package/esm2022/lib/dialogs/dialog/index.mjs +20 -0
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +52 -0
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +34 -0
- package/esm2022/lib/dialogs/index.mjs +18 -0
- package/esm2022/lib/dialogs/public-api.mjs +25 -0
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +73 -0
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +18 -0
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +33 -0
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +64 -0
- package/esm2022/lib/directives/directive.module.mjs +56 -0
- package/esm2022/lib/directives/highlight.directive.mjs +67 -0
- package/esm2022/lib/directives/index.mjs +18 -0
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +67 -0
- package/esm2022/lib/directives/logout.directive.mjs +72 -0
- package/esm2022/lib/directives/public-api.mjs +24 -0
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +60 -0
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +104 -0
- package/esm2022/lib/directives/upload.directive.mjs +241 -0
- package/esm2022/lib/dynamic-chip-list/chip.mjs +18 -0
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +204 -0
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +33 -0
- package/esm2022/lib/dynamic-chip-list/index.mjs +18 -0
- package/esm2022/lib/dynamic-chip-list/public-api.mjs +20 -0
- package/esm2022/lib/events/base-ui.event.mjs +21 -0
- package/esm2022/lib/events/base.event.mjs +29 -0
- package/esm2022/lib/events/index.mjs +18 -0
- package/esm2022/lib/events/public-api.mjs +19 -0
- package/esm2022/lib/form/components/form-base.component.mjs +212 -0
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +30 -0
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +142 -0
- package/esm2022/lib/form/components/form-renderer.component.mjs +161 -0
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +46 -0
- package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +37 -0
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +37 -0
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +48 -0
- package/esm2022/lib/form/components/middlewares/middleware.mjs +19 -0
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +77 -0
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +59 -0
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +52 -0
- package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +28 -0
- package/esm2022/lib/form/components/widgets/core/container.model.mjs +50 -0
- package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +52 -0
- package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +38 -0
- package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/external-content.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +74 -0
- package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +23 -0
- package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +268 -0
- package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +490 -0
- package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +32 -0
- package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +38 -0
- package/esm2022/lib/form/components/widgets/core/form-values.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +33 -0
- package/esm2022/lib/form/components/widgets/core/form.model.mjs +387 -0
- package/esm2022/lib/form/components/widgets/core/group.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/index.mjs +49 -0
- package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +115 -0
- package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/tab.model.mjs +34 -0
- package/esm2022/lib/form/components/widgets/core/theme.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +27 -0
- package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +18 -0
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +162 -0
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +153 -0
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +53 -0
- package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +86 -0
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +46 -0
- package/esm2022/lib/form/components/widgets/display-text/index.mjs +19 -0
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +92 -0
- package/esm2022/lib/form/components/widgets/header/header.schema.mjs +86 -0
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +42 -0
- package/esm2022/lib/form/components/widgets/header/index.mjs +19 -0
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +69 -0
- package/esm2022/lib/form/components/widgets/index.mjs +71 -0
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +66 -0
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +55 -0
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +71 -0
- package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +18 -0
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +215 -0
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +65 -0
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +63 -0
- package/esm2022/lib/form/components/widgets/widget.component.mjs +110 -0
- package/esm2022/lib/form/events/form-error.event.mjs +24 -0
- package/esm2022/lib/form/events/form-field.event.mjs +24 -0
- package/esm2022/lib/form/events/form-rules.event.mjs +25 -0
- package/esm2022/lib/form/events/form-spinner.event.mjs +23 -0
- package/esm2022/lib/form/events/form.event.mjs +29 -0
- package/esm2022/lib/form/events/index.mjs +24 -0
- package/esm2022/lib/form/events/validate-form-field.event.mjs +24 -0
- package/esm2022/lib/form/events/validate-form.event.mjs +25 -0
- package/esm2022/lib/form/form-base.module.mjs +90 -0
- package/esm2022/lib/form/index.mjs +18 -0
- package/esm2022/lib/form/models/form-rules.model.mjs +77 -0
- package/esm2022/lib/form/models/task-process-variable.model.mjs +19 -0
- package/esm2022/lib/form/models/widget-visibility.model.mjs +104 -0
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +45 -0
- package/esm2022/lib/form/pipes/index.mjs +18 -0
- package/esm2022/lib/form/public-api.mjs +35 -0
- package/esm2022/lib/form/services/form-rendering.service.mjs +53 -0
- package/esm2022/lib/form/services/form-validation-service.interface.mjs +18 -0
- package/esm2022/lib/form/services/form.service.mjs +86 -0
- package/esm2022/lib/form/services/widget-visibility.service.mjs +294 -0
- package/esm2022/lib/header/header.component.mjs +73 -0
- package/esm2022/lib/header/index.mjs +18 -0
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +37 -0
- package/esm2022/lib/header/navbar/navbar.component.mjs +36 -0
- package/esm2022/lib/header/public-api.mjs +20 -0
- package/esm2022/lib/icon/icon.component.mjs +51 -0
- package/esm2022/lib/icon/icon.module.mjs +36 -0
- package/esm2022/lib/icon/index.mjs +18 -0
- package/esm2022/lib/icon/public-api.mjs +19 -0
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +86 -0
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +33 -0
- package/esm2022/lib/identity-user-info/index.mjs +18 -0
- package/esm2022/lib/identity-user-info/public-api.mjs +19 -0
- package/esm2022/lib/info-drawer/index.mjs +18 -0
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +71 -0
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +113 -0
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +53 -0
- package/esm2022/lib/info-drawer/public-api.mjs +20 -0
- package/esm2022/lib/interface/index.mjs +18 -0
- package/esm2022/lib/interface/injection.tokens.mjs +19 -0
- package/esm2022/lib/interface/public-api.mjs +18 -0
- package/esm2022/lib/language-menu/index.mjs +18 -0
- package/esm2022/lib/language-menu/language-menu.component.mjs +61 -0
- package/esm2022/lib/language-menu/language-menu.module.mjs +35 -0
- package/esm2022/lib/language-menu/language-picker.component.mjs +77 -0
- package/esm2022/lib/language-menu/public-api.mjs +21 -0
- package/esm2022/lib/language-menu/service/language.service.interface.mjs +18 -0
- package/esm2022/lib/language-menu/service/language.service.mjs +34 -0
- package/esm2022/lib/layout/components/header/header.component.mjs +99 -0
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +180 -0
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +82 -0
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +145 -0
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +33 -0
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +33 -0
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +33 -0
- package/esm2022/lib/layout/index.mjs +18 -0
- package/esm2022/lib/layout/layout.module.mjs +72 -0
- package/esm2022/lib/layout/public-api.mjs +25 -0
- package/esm2022/lib/login/components/login/login.component.mjs +367 -0
- package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +18 -0
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +57 -0
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +48 -0
- package/esm2022/lib/login/directives/login-footer.directive.mjs +41 -0
- package/esm2022/lib/login/directives/login-header.directive.mjs +41 -0
- package/esm2022/lib/login/index.mjs +18 -0
- package/esm2022/lib/login/login.module.mjs +54 -0
- package/esm2022/lib/login/models/login-error.event.mjs +22 -0
- package/esm2022/lib/login/models/login-submit.event.mjs +32 -0
- package/esm2022/lib/login/models/login-success.event.mjs +24 -0
- package/esm2022/lib/login/public-api.mjs +27 -0
- package/esm2022/lib/material.module.mjs +254 -0
- package/esm2022/lib/mock/cookie.service.mock.mjs +43 -0
- package/esm2022/lib/mock/data-column.mock.mjs +73 -0
- package/esm2022/lib/mock/event.mock.mjs +39 -0
- package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +225 -0
- package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +347 -0
- package/esm2022/lib/mock/form/form-definition.mock.mjs +403 -0
- package/esm2022/lib/mock/form/form.component.mock.mjs +275 -0
- package/esm2022/lib/mock/form/form.service.mock.mjs +248 -0
- package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +1835 -0
- package/esm2022/lib/mock/index.mjs +18 -0
- package/esm2022/lib/mock/public-api.mjs +27 -0
- package/esm2022/lib/mock/translation.service.mock.mjs +44 -0
- package/esm2022/lib/models/comment.model.mjs +51 -0
- package/esm2022/lib/models/component.model.mjs +24 -0
- package/esm2022/lib/models/decimal-number.model.mjs +26 -0
- package/esm2022/lib/models/general-user.model.mjs +24 -0
- package/esm2022/lib/models/index.mjs +18 -0
- package/esm2022/lib/models/pagination.model.mjs +29 -0
- package/esm2022/lib/models/path.model.mjs +24 -0
- package/esm2022/lib/models/product-version.model.mjs +28 -0
- package/esm2022/lib/models/public-api.mjs +24 -0
- package/esm2022/lib/models/request-pagination.model.mjs +25 -0
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +44 -0
- package/esm2022/lib/notifications/components/notification-history.component.mjs +138 -0
- package/esm2022/lib/notifications/helpers/notification.factory.mjs +43 -0
- package/esm2022/lib/notifications/index.mjs +18 -0
- package/esm2022/lib/notifications/models/notification.model.mjs +25 -0
- package/esm2022/lib/notifications/notification-history.module.mjs +35 -0
- package/esm2022/lib/notifications/public-api.mjs +23 -0
- package/esm2022/lib/notifications/services/notification.service.mjs +166 -0
- package/esm2022/lib/pagination/index.mjs +18 -0
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +111 -0
- package/esm2022/lib/pagination/paginated-component.interface.mjs +18 -0
- package/esm2022/lib/pagination/pagination-component.interface.mjs +18 -0
- package/esm2022/lib/pagination/pagination.component.mjs +263 -0
- package/esm2022/lib/pagination/pagination.module.mjs +35 -0
- package/esm2022/lib/pagination/public-api.mjs +22 -0
- package/esm2022/lib/pipes/date-time.pipe.mjs +46 -0
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +78 -0
- package/esm2022/lib/pipes/file-size.pipe.mjs +54 -0
- package/esm2022/lib/pipes/file-type.pipe.mjs +40 -0
- package/esm2022/lib/pipes/format-space.pipe.mjs +39 -0
- package/esm2022/lib/pipes/full-name.pipe.mjs +43 -0
- package/esm2022/lib/pipes/index.mjs +18 -0
- package/esm2022/lib/pipes/localized-date.pipe.mjs +70 -0
- package/esm2022/lib/pipes/multi-value.pipe.mjs +37 -0
- package/esm2022/lib/pipes/pipe.module.mjs +83 -0
- package/esm2022/lib/pipes/public-api.mjs +30 -0
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +39 -0
- package/esm2022/lib/pipes/time-ago.pipe.mjs +65 -0
- package/esm2022/lib/pipes/truncate.pipe.mjs +33 -0
- package/esm2022/lib/pipes/user-initial.pipe.mjs +52 -0
- package/esm2022/lib/pipes/user-like.interface.mjs +18 -0
- package/esm2022/lib/progress/progress.component.mjs +90 -0
- package/esm2022/lib/search-text/animations.mjs +32 -0
- package/esm2022/lib/search-text/index.mjs +18 -0
- package/esm2022/lib/search-text/models/search-text-input.model.mjs +23 -0
- package/esm2022/lib/search-text/public-api.mjs +22 -0
- package/esm2022/lib/search-text/search-text-input.component.mjs +283 -0
- package/esm2022/lib/search-text/search-text-input.module.mjs +35 -0
- package/esm2022/lib/search-text/search-trigger.directive.mjs +181 -0
- package/esm2022/lib/snackbar-content/index.mjs +18 -0
- package/esm2022/lib/snackbar-content/public-api.mjs +20 -0
- package/esm2022/lib/snackbar-content/snack-bar-data.mjs +18 -0
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +49 -0
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +33 -0
- package/esm2022/lib/sorting-picker/index.mjs +18 -0
- package/esm2022/lib/sorting-picker/public-api.mjs +18 -0
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +67 -0
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +43 -0
- package/esm2022/lib/templates/error-content/error-content.component.mjs +61 -0
- package/esm2022/lib/templates/index.mjs +18 -0
- package/esm2022/lib/templates/public-api.mjs +20 -0
- package/esm2022/lib/templates/template.module.mjs +38 -0
- package/esm2022/lib/testing/core.story.module.mjs +39 -0
- package/esm2022/lib/testing/core.testing.module.mjs +35 -0
- package/esm2022/lib/testing/index.mjs +22 -0
- package/esm2022/lib/testing/noop-auth.module.mjs +80 -0
- package/esm2022/lib/testing/noop-translate.module.mjs +61 -0
- package/esm2022/lib/testing/unit-testing-utils.mjs +364 -0
- package/esm2022/lib/toolbar/index.mjs +18 -0
- package/esm2022/lib/toolbar/public-api.mjs +21 -0
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +27 -0
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +32 -0
- package/esm2022/lib/toolbar/toolbar.component.mjs +39 -0
- package/esm2022/lib/toolbar/toolbar.module.mjs +36 -0
- package/esm2022/lib/translation/index.mjs +18 -0
- package/esm2022/lib/translation/public-api.mjs +19 -0
- package/esm2022/lib/translation/translate-loader.service.mjs +148 -0
- package/esm2022/lib/translation/translation.service.mjs +148 -0
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +36 -0
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +220 -0
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +64 -0
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +550 -0
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +60 -0
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +48 -0
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +198 -0
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +85 -0
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +32 -0
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +34 -0
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +34 -0
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +216 -0
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +46 -0
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +34 -0
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +34 -0
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +34 -0
- package/esm2022/lib/viewer/components/viewer.component.mjs +486 -0
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +67 -0
- package/esm2022/lib/viewer/index.mjs +18 -0
- package/esm2022/lib/viewer/models/download-prompt.actions.mjs +23 -0
- package/esm2022/lib/viewer/models/viewer.model.mjs +22 -0
- package/esm2022/lib/viewer/public-api.mjs +40 -0
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +179 -0
- package/esm2022/lib/viewer/services/view-util.service.mjs +149 -0
- package/esm2022/lib/viewer/viewer.module.mjs +110 -0
- package/esm2022/public-api.mjs +60 -0
- package/esm2022/shell/alfresco-adf-core-shell.mjs +5 -0
- package/esm2022/shell/index.mjs +20 -0
- package/esm2022/shell/lib/components/shell/shell.component.mjs +122 -0
- package/esm2022/shell/lib/services/shell-app.service.mjs +22 -0
- package/esm2022/shell/lib/shell.module.mjs +79 -0
- package/esm2022/shell/lib/shell.routes.mjs +25 -0
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +35 -4
- package/fesm2022/adf-core.mjs +1177 -1229
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +4 -4
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +59 -52
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +21 -96
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/app-config/app-config.module.d.ts +0 -1
- package/lib/app-config/public-api.d.ts +0 -1
- package/lib/auth/oidc/auth.module.d.ts +4 -4
- package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
- package/lib/card-view/components/base-card-view.d.ts +1 -1
- package/lib/card-view/components/card-view/card-view.component.scss +9 -12
- package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +2 -1
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +5 -2
- package/lib/core.module.d.ts +128 -124
- package/lib/datatable/data/data-table.schema.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +6 -2
- package/lib/form/form-base.module.d.ts +0 -1
- package/lib/testing/core.testing.module.d.ts +0 -1
- package/lib/testing/noop-translate.module.d.ts +2 -1
- package/lib/translation/public-api.d.ts +0 -1
- package/package.json +15 -3
- package/public-api.d.ts +0 -1
- package/shell/README.md +6 -20
- package/shell/index.d.ts +0 -2
- package/shell/lib/shell.module.d.ts +7 -4
- package/shell/lib/shell.routes.d.ts +1 -13
- package/lib/app-config/provide-app-config.d.ts +0 -23
- package/lib/landing-page/index.d.ts +0 -17
- package/lib/landing-page/provider.d.ts +0 -24
- package/lib/landing-page/public-api.d.ts +0 -17
- package/lib/translation/provide-i18n.d.ts +0 -39
- package/shell/lib/providers.d.ts +0 -36
|
@@ -0,0 +1,205 @@
|
|
|
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, Injectable } from '@angular/core';
|
|
18
|
+
import { OAuthStorage } from 'angular-oauth2-oidc';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
export class JwtHelperService {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.storageService = inject(OAuthStorage);
|
|
23
|
+
}
|
|
24
|
+
static { this.USER_NAME = 'name'; }
|
|
25
|
+
static { this.FAMILY_NAME = 'family_name'; }
|
|
26
|
+
static { this.GIVEN_NAME = 'given_name'; }
|
|
27
|
+
static { this.USER_EMAIL = 'email'; }
|
|
28
|
+
static { this.USER_ACCESS_TOKEN = 'access_token'; }
|
|
29
|
+
static { this.USER_ID_TOKEN = 'id_token'; }
|
|
30
|
+
static { this.REALM_ACCESS = 'realm_access'; }
|
|
31
|
+
static { this.RESOURCE_ACCESS = 'resource_access'; }
|
|
32
|
+
static { this.USER_PREFERRED_USERNAME = 'preferred_username'; }
|
|
33
|
+
static { this.HXP_AUTHORIZATION = 'hxp_authorization'; }
|
|
34
|
+
/**
|
|
35
|
+
* Decodes a JSON web token into a JS object.
|
|
36
|
+
*
|
|
37
|
+
* @param token Token in encoded form
|
|
38
|
+
* @returns Decoded token data object
|
|
39
|
+
*/
|
|
40
|
+
decodeToken(token) {
|
|
41
|
+
const parts = token.split('.');
|
|
42
|
+
if (parts.length !== 3) {
|
|
43
|
+
throw new Error('JWT must have 3 parts');
|
|
44
|
+
}
|
|
45
|
+
const decoded = this.urlBase64Decode(parts[1]);
|
|
46
|
+
if (!decoded) {
|
|
47
|
+
throw new Error('Cannot decode the token');
|
|
48
|
+
}
|
|
49
|
+
return JSON.parse(decoded);
|
|
50
|
+
}
|
|
51
|
+
urlBase64Decode(token) {
|
|
52
|
+
let output = token.replace(/-/g, '+').replace(/_/g, '/');
|
|
53
|
+
switch (output.length % 4) {
|
|
54
|
+
case 0: {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case 2: {
|
|
58
|
+
output += '==';
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case 3: {
|
|
62
|
+
output += '=';
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
default: {
|
|
66
|
+
throw new Error('Illegal base64url string!');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return decodeURIComponent(escape(window.atob(output)));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Gets a named value from the user access or id token.
|
|
73
|
+
*
|
|
74
|
+
* @param key Key name of the field to retrieve
|
|
75
|
+
* @returns Value from the token
|
|
76
|
+
*/
|
|
77
|
+
getValueFromLocalToken(key) {
|
|
78
|
+
return this.getValueFromToken(this.getAccessToken(), key) || this.getValueFromToken(this.getIdToken(), key);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Gets a named value from the user access token.
|
|
82
|
+
*
|
|
83
|
+
* @param key Key name of the field to retrieve
|
|
84
|
+
* @returns Value from the token
|
|
85
|
+
*/
|
|
86
|
+
getValueFromLocalAccessToken(key) {
|
|
87
|
+
return this.getValueFromToken(this.getAccessToken(), key);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Gets access token
|
|
91
|
+
*
|
|
92
|
+
* @returns access token
|
|
93
|
+
*/
|
|
94
|
+
getAccessToken() {
|
|
95
|
+
return this.storageService.getItem(JwtHelperService.USER_ACCESS_TOKEN);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets a named value from the user id token.
|
|
99
|
+
*
|
|
100
|
+
* @param key Key name of the field to retrieve
|
|
101
|
+
* @returns Value from the token
|
|
102
|
+
*/
|
|
103
|
+
getValueFromLocalIdToken(key) {
|
|
104
|
+
return this.getValueFromToken(this.getIdToken(), key);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Gets id token
|
|
108
|
+
*
|
|
109
|
+
* @returns id token
|
|
110
|
+
*/
|
|
111
|
+
getIdToken() {
|
|
112
|
+
return this.storageService.getItem(JwtHelperService.USER_ID_TOKEN);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Gets a named value from the user access token.
|
|
116
|
+
*
|
|
117
|
+
* @param token your SSO access token where the value is encode
|
|
118
|
+
* @param key Key name of the field to retrieve
|
|
119
|
+
* @returns Value from the token
|
|
120
|
+
*/
|
|
121
|
+
getValueFromToken(token, key) {
|
|
122
|
+
let value;
|
|
123
|
+
if (token) {
|
|
124
|
+
const tokenPayload = this.decodeToken(token);
|
|
125
|
+
value = tokenPayload[key];
|
|
126
|
+
}
|
|
127
|
+
return value;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Gets realm roles.
|
|
131
|
+
*
|
|
132
|
+
* @returns Array of realm roles
|
|
133
|
+
*/
|
|
134
|
+
getRealmRoles() {
|
|
135
|
+
const access = this.getValueFromLocalAccessToken(JwtHelperService.REALM_ACCESS);
|
|
136
|
+
return access ? access['roles'] : [];
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets Client roles.
|
|
140
|
+
*
|
|
141
|
+
* @param clientName client name
|
|
142
|
+
* @returns Array of client roles
|
|
143
|
+
*/
|
|
144
|
+
getClientRoles(clientName) {
|
|
145
|
+
const clientRole = this.getValueFromLocalAccessToken(JwtHelperService.RESOURCE_ACCESS)[clientName];
|
|
146
|
+
return clientRole ? clientRole['roles'] : [];
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Checks for single realm role.
|
|
150
|
+
*
|
|
151
|
+
* @param role Role name to check
|
|
152
|
+
* @returns True if it contains given role, false otherwise
|
|
153
|
+
*/
|
|
154
|
+
hasRealmRole(role) {
|
|
155
|
+
let hasRole = false;
|
|
156
|
+
if (this.getAccessToken()) {
|
|
157
|
+
const realmRoles = this.getRealmRoles();
|
|
158
|
+
hasRole = realmRoles.some((currentRole) => currentRole === role);
|
|
159
|
+
}
|
|
160
|
+
return hasRole;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Checks for realm roles.
|
|
164
|
+
*
|
|
165
|
+
* @param rolesToCheck List of role names to check
|
|
166
|
+
* @returns True if it contains at least one of the given roles, false otherwise
|
|
167
|
+
*/
|
|
168
|
+
hasRealmRoles(rolesToCheck) {
|
|
169
|
+
return rolesToCheck.some((currentRole) => this.hasRealmRole(currentRole));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Checks for client roles.
|
|
173
|
+
*
|
|
174
|
+
* @param clientName Targeted client name
|
|
175
|
+
* @param rolesToCheck List of role names to check
|
|
176
|
+
* @returns True if it contains at least one of the given roles, false otherwise
|
|
177
|
+
*/
|
|
178
|
+
hasRealmRolesForClientRole(clientName, rolesToCheck) {
|
|
179
|
+
return rolesToCheck.some((currentRole) => this.hasClientRole(clientName, currentRole));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Checks for client role.
|
|
183
|
+
*
|
|
184
|
+
* @param clientName Targeted client name
|
|
185
|
+
* @param role Role name to check
|
|
186
|
+
* @returns True if it contains given role, false otherwise
|
|
187
|
+
*/
|
|
188
|
+
hasClientRole(clientName, role) {
|
|
189
|
+
let hasRole = false;
|
|
190
|
+
if (this.getAccessToken()) {
|
|
191
|
+
const clientRoles = this.getClientRoles(clientName);
|
|
192
|
+
hasRole = clientRoles.some((currentRole) => currentRole === role);
|
|
193
|
+
}
|
|
194
|
+
return hasRole;
|
|
195
|
+
}
|
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JwtHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JwtHelperService, providedIn: 'root' }); }
|
|
198
|
+
}
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JwtHelperService, decorators: [{
|
|
200
|
+
type: Injectable,
|
|
201
|
+
args: [{
|
|
202
|
+
providedIn: 'root'
|
|
203
|
+
}]
|
|
204
|
+
}] });
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2VzL2p3dC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFlWSxtQkFBYyxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FxTC9EO2FBaE1VLGNBQVMsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUNuQixnQkFBVyxHQUFHLGFBQWEsQUFBaEIsQ0FBaUI7YUFDNUIsZUFBVSxHQUFHLFlBQVksQUFBZixDQUFnQjthQUMxQixlQUFVLEdBQUcsT0FBTyxBQUFWLENBQVc7YUFDckIsc0JBQWlCLEdBQUcsY0FBYyxBQUFqQixDQUFrQjthQUNuQyxrQkFBYSxHQUFHLFVBQVUsQUFBYixDQUFjO2FBQzNCLGlCQUFZLEdBQUcsY0FBYyxBQUFqQixDQUFrQjthQUM5QixvQkFBZSxHQUFHLGlCQUFpQixBQUFwQixDQUFxQjthQUNwQyw0QkFBdUIsR0FBRyxvQkFBb0IsQUFBdkIsQ0FBd0I7YUFDL0Msc0JBQWlCLEdBQUcsbUJBQW1CLEFBQXRCLENBQXVCO0lBSS9DOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQUs7UUFDYixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRS9CLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVE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Q0FBQztZQUN4QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7K0dBaE1RLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBKd3RIZWxwZXJTZXJ2aWNlIHtcbiAgICBzdGF0aWMgVVNFUl9OQU1FID0gJ25hbWUnO1xuICAgIHN0YXRpYyBGQU1JTFlfTkFNRSA9ICdmYW1pbHlfbmFtZSc7XG4gICAgc3RhdGljIEdJVkVOX05BTUUgPSAnZ2l2ZW5fbmFtZSc7XG4gICAgc3RhdGljIFVTRVJfRU1BSUwgPSAnZW1haWwnO1xuICAgIHN0YXRpYyBVU0VSX0FDQ0VTU19UT0tFTiA9ICdhY2Nlc3NfdG9rZW4nO1xuICAgIHN0YXRpYyBVU0VSX0lEX1RPS0VOID0gJ2lkX3Rva2VuJztcbiAgICBzdGF0aWMgUkVBTE1fQUNDRVNTID0gJ3JlYWxtX2FjY2Vzcyc7XG4gICAgc3RhdGljIFJFU09VUkNFX0FDQ0VTUyA9ICdyZXNvdXJjZV9hY2Nlc3MnO1xuICAgIHN0YXRpYyBVU0VSX1BSRUZFUlJFRF9VU0VSTkFNRSA9ICdwcmVmZXJyZWRfdXNlcm5hbWUnO1xuICAgIHN0YXRpYyBIWFBfQVVUSE9SSVpBVElPTiA9ICdoeHBfYXV0aG9yaXphdGlvbic7XG5cbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBPQXV0aFN0b3JhZ2UgPSBpbmplY3QoT0F1dGhTdG9yYWdlKTtcblxuICAgIC8qKlxuICAgICAqIERlY29kZXMgYSBKU09OIHdlYiB0b2tlbiBpbnRvIGEgSlMgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRva2VuIFRva2VuIGluIGVuY29kZWQgZm9ybVxuICAgICAqIEByZXR1cm5zIERlY29kZWQgdG9rZW4gZGF0YSBvYmplY3RcbiAgICAgKi9cbiAgICBkZWNvZGVUb2tlbih0b2tlbik6IGFueSB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gdG9rZW4uc3BsaXQoJy4nKTtcblxuICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pXVCBtdXN0IGhhdmUgMyBwYXJ0cycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IHRoaXMudXJsQmFzZTY0RGVjb2RlKHBhcnRzWzFdKTtcbiAgICAgICAgaWYgKCFkZWNvZGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWNvZGUgdGhlIHRva2VuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVybEJhc2U2NERlY29kZSh0b2tlbik6IHN0cmluZyB7XG4gICAgICAgIGxldCBvdXRwdXQgPSB0b2tlbi5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xuICAgICAgICBzd2l0Y2ggKG91dHB1dC5sZW5ndGggJSA0KSB7XG4gICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgIG91dHB1dCArPSAnPT0nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgb3V0cHV0ICs9ICc9JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgYmFzZTY0dXJsIHN0cmluZyEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZSh3aW5kb3cuYXRvYihvdXRwdXQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIG5hbWVkIHZhbHVlIGZyb20gdGhlIHVzZXIgYWNjZXNzIG9yIGlkIHRva2VuLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBLZXkgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmVcbiAgICAgKiBAcmV0dXJucyBWYWx1ZSBmcm9tIHRoZSB0b2tlblxuICAgICAqL1xuICAgIGdldFZhbHVlRnJvbUxvY2FsVG9rZW48VD4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVGcm9tVG9rZW4odGhpcy5nZXRBY2Nlc3NUb2tlbigpLCBrZXkpIHx8IHRoaXMuZ2V0VmFsdWVGcm9tVG9rZW4odGhpcy5nZXRJZFRva2VuKCksIGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIG5hbWVkIHZhbHVlIGZyb20gdGhlIHVzZXIgYWNjZXNzIHRva2VuLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBLZXkgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmVcbiAgICAgKiBAcmV0dXJucyBWYWx1ZSBmcm9tIHRoZSB0b2tlblxuICAgICAqL1xuICAgIGdldFZhbHVlRnJvbUxvY2FsQWNjZXNzVG9rZW48VD4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVGcm9tVG9rZW4odGhpcy5nZXRBY2Nlc3NUb2tlbigpLCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYWNjZXNzIHRva2VuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBhY2Nlc3MgdG9rZW5cbiAgICAgKi9cbiAgICBnZXRBY2Nlc3NUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKEp3dEhlbHBlclNlcnZpY2UuVVNFUl9BQ0NFU1NfVE9LRU4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBuYW1lZCB2YWx1ZSBmcm9tIHRoZSB1c2VyIGlkIHRva2VuLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBLZXkgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmVcbiAgICAgKiBAcmV0dXJucyBWYWx1ZSBmcm9tIHRoZSB0b2tlblxuICAgICAqL1xuICAgIGdldFZhbHVlRnJvbUxvY2FsSWRUb2tlbjxUPihrZXk6IHN0cmluZyk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUZyb21Ub2tlbih0aGlzLmdldElkVG9rZW4oKSwga2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGlkIHRva2VuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBpZCB0b2tlblxuICAgICAqL1xuICAgIGdldElkVG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShKd3RIZWxwZXJTZXJ2aWNlLlVTRVJfSURfVE9LRU4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBuYW1lZCB2YWx1ZSBmcm9tIHRoZSB1c2VyIGFjY2VzcyB0b2tlbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b2tlbiB5b3VyIFNTTyBhY2Nlc3MgdG9rZW4gd2hlcmUgdGhlIHZhbHVlIGlzIGVuY29kZVxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG5hbWUgb2YgdGhlIGZpZWxkIHRvIHJldHJpZXZlXG4gICAgICogQHJldHVybnMgVmFsdWUgZnJvbSB0aGUgdG9rZW5cbiAgICAgKi9cbiAgICBnZXRWYWx1ZUZyb21Ub2tlbjxUPih0b2tlbjogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFQge1xuICAgICAgICBsZXQgdmFsdWU6IFQ7XG5cbiAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICBjb25zdCB0b2tlblBheWxvYWQgPSB0aGlzLmRlY29kZVRva2VuKHRva2VuKTtcbiAgICAgICAgICAgIHZhbHVlID0gdG9rZW5QYXlsb2FkW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcmVhbG0gcm9sZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiByZWFsbSByb2xlc1xuICAgICAqL1xuICAgIGdldFJlYWxtUm9sZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBhY2Nlc3MgPSB0aGlzLmdldFZhbHVlRnJvbUxvY2FsQWNjZXNzVG9rZW48YW55PihKd3RIZWxwZXJTZXJ2aWNlLlJFQUxNX0FDQ0VTUyk7XG4gICAgICAgIHJldHVybiBhY2Nlc3MgPyBhY2Nlc3NbJ3JvbGVzJ10gOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIENsaWVudCByb2xlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGllbnROYW1lIGNsaWVudCBuYW1lXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgY2xpZW50IHJvbGVzXG4gICAgICovXG4gICAgZ2V0Q2xpZW50Um9sZXMoY2xpZW50TmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBjbGllbnRSb2xlID0gdGhpcy5nZXRWYWx1ZUZyb21Mb2NhbEFjY2Vzc1Rva2VuPGFueT4oSnd0SGVscGVyU2VydmljZS5SRVNPVVJDRV9BQ0NFU1MpW2NsaWVudE5hbWVdO1xuICAgICAgICByZXR1cm4gY2xpZW50Um9sZSA/IGNsaWVudFJvbGVbJ3JvbGVzJ10gOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgZm9yIHNpbmdsZSByZWFsbSByb2xlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJvbGUgUm9sZSBuYW1lIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBpdCBjb250YWlucyBnaXZlbiByb2xlLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBoYXNSZWFsbVJvbGUocm9sZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBoYXNSb2xlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWxtUm9sZXMgPSB0aGlzLmdldFJlYWxtUm9sZXMoKTtcbiAgICAgICAgICAgIGhhc1JvbGUgPSByZWFsbVJvbGVzLnNvbWUoKGN1cnJlbnRSb2xlKSA9PiBjdXJyZW50Um9sZSA9PT0gcm9sZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhhc1JvbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGZvciByZWFsbSByb2xlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb2xlc1RvQ2hlY2sgTGlzdCBvZiByb2xlIG5hbWVzIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBpdCBjb250YWlucyBhdCBsZWFzdCBvbmUgb2YgdGhlIGdpdmVuIHJvbGVzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBoYXNSZWFsbVJvbGVzKHJvbGVzVG9DaGVjazogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJvbGVzVG9DaGVjay5zb21lKChjdXJyZW50Um9sZSkgPT4gdGhpcy5oYXNSZWFsbVJvbGUoY3VycmVudFJvbGUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgZm9yIGNsaWVudCByb2xlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGllbnROYW1lIFRhcmdldGVkIGNsaWVudCBuYW1lXG4gICAgICogQHBhcmFtIHJvbGVzVG9DaGVjayBMaXN0IG9mIHJvbGUgbmFtZXMgdG8gY2hlY2tcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBvZiB0aGUgZ2l2ZW4gcm9sZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGhhc1JlYWxtUm9sZXNGb3JDbGllbnRSb2xlKGNsaWVudE5hbWU6IHN0cmluZywgcm9sZXNUb0NoZWNrOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcm9sZXNUb0NoZWNrLnNvbWUoKGN1cnJlbnRSb2xlKSA9PiB0aGlzLmhhc0NsaWVudFJvbGUoY2xpZW50TmFtZSwgY3VycmVudFJvbGUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgZm9yIGNsaWVudCByb2xlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsaWVudE5hbWUgVGFyZ2V0ZWQgY2xpZW50IG5hbWVcbiAgICAgKiBAcGFyYW0gcm9sZSBSb2xlIG5hbWUgdG8gY2hlY2tcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGNvbnRhaW5zIGdpdmVuIHJvbGUsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGhhc0NsaWVudFJvbGUoY2xpZW50TmFtZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGhhc1JvbGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50Um9sZXMgPSB0aGlzLmdldENsaWVudFJvbGVzKGNsaWVudE5hbWUpO1xuICAgICAgICAgICAgaGFzUm9sZSA9IGNsaWVudFJvbGVzLnNvbWUoKGN1cnJlbnRSb2xlKSA9PiBjdXJyZW50Um9sZSA9PT0gcm9sZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhhc1JvbGU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
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 { from } from 'rxjs';
|
|
19
|
+
import { AdfHttpClient } from '@alfresco/adf-core/api';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
import * as i1 from "@alfresco/adf-core/api";
|
|
22
|
+
export const JSON_TYPE = ['application/json'];
|
|
23
|
+
export class OAuth2Service {
|
|
24
|
+
constructor(adfHttpClient) {
|
|
25
|
+
this.adfHttpClient = adfHttpClient;
|
|
26
|
+
}
|
|
27
|
+
request(opts) {
|
|
28
|
+
const { httpMethod, url, bodyParam, queryParams } = opts;
|
|
29
|
+
return from(this.adfHttpClient.request(url, {
|
|
30
|
+
httpMethod,
|
|
31
|
+
queryParams,
|
|
32
|
+
headerParams: {},
|
|
33
|
+
formParams: {},
|
|
34
|
+
bodyParam,
|
|
35
|
+
returnType: Object
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
get(opts) {
|
|
39
|
+
return this.request({
|
|
40
|
+
...opts,
|
|
41
|
+
httpMethod: 'GET'
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
put(opts) {
|
|
45
|
+
return this.request({
|
|
46
|
+
...opts,
|
|
47
|
+
httpMethod: 'PUT'
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
post(opts) {
|
|
51
|
+
return this.request({
|
|
52
|
+
...opts,
|
|
53
|
+
httpMethod: 'POST'
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
delete(opts) {
|
|
57
|
+
return this.request({
|
|
58
|
+
...opts,
|
|
59
|
+
httpMethod: 'DELETE'
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuth2Service, deps: [{ token: i1.AdfHttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuth2Service, providedIn: 'root' }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OAuth2Service, decorators: [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{ providedIn: 'root' }]
|
|
68
|
+
}], ctorParameters: () => [{ type: i1.AdfHttpClient }] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvc2VydmljZXMvb2F1dGgyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFXOUMsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRXBELE9BQU8sQ0FBSSxJQUF5QjtRQUNoQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUM1QixVQUFVO1lBQ1YsV0FBVztZQUNYLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsU0FBUztZQUNULFVBQVUsRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELEdBQUcsQ0FBSSxJQUF5QjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEIsR0FBRyxJQUFJO1lBQ1AsVUFBVSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEdBQUcsQ0FBSSxJQUF5QjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEIsR0FBRyxJQUFJO1lBQ1AsVUFBVSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksQ0FBSSxJQUF5QjtRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEIsR0FBRyxJQUFJO1lBQ1AsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBSSxJQUF5QjtRQUMvQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEIsR0FBRyxJQUFJO1lBQ1AsVUFBVSxFQUFFLFFBQVE7U0FDdkIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0EzQ1EsYUFBYTttSEFBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZGZIdHRwQ2xpZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlL2FwaSc7XG5cbmV4cG9ydCBjb25zdCBKU09OX1RZUEUgPSBbJ2FwcGxpY2F0aW9uL2pzb24nXTtcblxuZXhwb3J0IGludGVyZmFjZSBPQXV0aDJSZXF1ZXN0UGFyYW1zIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBodHRwTWV0aG9kPzogc3RyaW5nO1xuICAgIHBhdGhQYXJhbXM/OiBhbnk7XG4gICAgcXVlcnlQYXJhbXM/OiBhbnk7XG4gICAgYm9keVBhcmFtPzogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE9BdXRoMlNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRmSHR0cENsaWVudDogQWRmSHR0cENsaWVudCkge31cblxuICAgIHJlcXVlc3Q8VD4ob3B0czogT0F1dGgyUmVxdWVzdFBhcmFtcyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICBjb25zdCB7IGh0dHBNZXRob2QsIHVybCwgYm9keVBhcmFtLCBxdWVyeVBhcmFtcyB9ID0gb3B0cztcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICB0aGlzLmFkZkh0dHBDbGllbnQucmVxdWVzdCh1cmwsIHtcbiAgICAgICAgICAgICAgICBodHRwTWV0aG9kLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgICAgIGhlYWRlclBhcmFtczoge30sXG4gICAgICAgICAgICAgICAgZm9ybVBhcmFtczoge30sXG4gICAgICAgICAgICAgICAgYm9keVBhcmFtLFxuICAgICAgICAgICAgICAgIHJldHVyblR5cGU6IE9iamVjdFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQ8VD4ob3B0czogT0F1dGgyUmVxdWVzdFBhcmFtcyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHtcbiAgICAgICAgICAgIC4uLm9wdHMsXG4gICAgICAgICAgICBodHRwTWV0aG9kOiAnR0VUJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdXQ8VD4ob3B0czogT0F1dGgyUmVxdWVzdFBhcmFtcyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHtcbiAgICAgICAgICAgIC4uLm9wdHMsXG4gICAgICAgICAgICBodHRwTWV0aG9kOiAnUFVUJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwb3N0PFQ+KG9wdHM6IE9BdXRoMlJlcXVlc3RQYXJhbXMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAgICAgICAuLi5vcHRzLFxuICAgICAgICAgICAgaHR0cE1ldGhvZDogJ1BPU1QnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZTxUPihvcHRzOiBPQXV0aDJSZXF1ZXN0UGFyYW1zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3Qoe1xuICAgICAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgICAgIGh0dHBNZXRob2Q6ICdERUxFVEUnXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
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 { HttpClient } from '@angular/common/http';
|
|
18
|
+
import { Injectable, Injector } from '@angular/core';
|
|
19
|
+
import { AppConfigService } from '../../app-config/app-config.service';
|
|
20
|
+
import { from, throwError } from 'rxjs';
|
|
21
|
+
import { catchError, map, timeout } from 'rxjs/operators';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "../../app-config/app-config.service";
|
|
24
|
+
export class TimeSyncService {
|
|
25
|
+
constructor(_injector, _appConfigService) {
|
|
26
|
+
this._injector = _injector;
|
|
27
|
+
this._appConfigService = _appConfigService;
|
|
28
|
+
this._http = this._injector.get(HttpClient);
|
|
29
|
+
}
|
|
30
|
+
checkTimeSync(maxAllowedClockSkewInSec) {
|
|
31
|
+
const startTime = Date.now();
|
|
32
|
+
return this.getServerTime().pipe(map((serverTimeResponse) => {
|
|
33
|
+
let serverTimeInMs;
|
|
34
|
+
const endTime = Date.now();
|
|
35
|
+
const roundTripTimeInMs = endTime - startTime;
|
|
36
|
+
const isServerTimeResponseInMs = serverTimeResponse.toString().length === 13;
|
|
37
|
+
if (!isServerTimeResponseInMs) {
|
|
38
|
+
serverTimeInMs = serverTimeResponse * 1000;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
serverTimeInMs = serverTimeResponse;
|
|
42
|
+
}
|
|
43
|
+
const adjustedServerTimeInMs = serverTimeInMs + roundTripTimeInMs / 2;
|
|
44
|
+
const localCurrentTimeInMs = Date.now();
|
|
45
|
+
const timeOffsetInMs = Math.abs(localCurrentTimeInMs - adjustedServerTimeInMs);
|
|
46
|
+
const maxAllowedClockSkewInMs = maxAllowedClockSkewInSec * 1000;
|
|
47
|
+
return {
|
|
48
|
+
outOfSync: timeOffsetInMs > maxAllowedClockSkewInMs,
|
|
49
|
+
timeOffsetInSec: timeOffsetInMs / 1000,
|
|
50
|
+
localDateTimeISO: new Date(localCurrentTimeInMs).toISOString(),
|
|
51
|
+
serverDateTimeISO: new Date(adjustedServerTimeInMs).toISOString()
|
|
52
|
+
};
|
|
53
|
+
}), catchError((error) => throwError(() => new Error(error))));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Checks if the local time is out of sync with the server time.
|
|
57
|
+
*
|
|
58
|
+
* @param maxAllowedClockSkewInSec - The maximum allowed clock skew in seconds.
|
|
59
|
+
* @returns An Observable that emits a boolean indicating whether the local time is out of sync.
|
|
60
|
+
*/
|
|
61
|
+
isLocalTimeOutOfSync(maxAllowedClockSkewInSec) {
|
|
62
|
+
return this.checkTimeSync(maxAllowedClockSkewInSec).pipe(map((sync) => sync.outOfSync));
|
|
63
|
+
}
|
|
64
|
+
getServerTime() {
|
|
65
|
+
return from(this._http.get(this.getServerTimeUrl())).pipe(timeout(5000), catchError(() => throwError(() => new Error('Failed to get server time'))));
|
|
66
|
+
}
|
|
67
|
+
getServerTimeUrl() {
|
|
68
|
+
const serverTimeUrl = this._appConfigService.get('serverTimeUrl', '');
|
|
69
|
+
if (!serverTimeUrl) {
|
|
70
|
+
throw new Error('serverTimeUrl is not configured.');
|
|
71
|
+
}
|
|
72
|
+
return serverTimeUrl;
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSyncService, deps: [{ token: i0.Injector }, { token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSyncService, providedIn: 'root' }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSyncService, decorators: [{
|
|
78
|
+
type: Injectable,
|
|
79
|
+
args: [{
|
|
80
|
+
providedIn: 'root'
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AppConfigService }] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvc2VydmljZXMvdGltZS1zeW5jLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFZMUQsTUFBTSxPQUFPLGVBQWU7SUFHeEIsWUFBb0IsU0FBbUIsRUFBVSxpQkFBbUM7UUFBaEUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDaEYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsYUFBYSxDQUFDLHdCQUFnQztRQUMxQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxrQkFBMEIsRUFBRSxFQUFFO1lBQy9CLElBQUksY0FBc0IsQ0FBQztZQUUzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLEdBQUcsU0FBUyxDQUFDO1lBRTlDLE1BQU0sd0JBQXdCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztZQUM3RSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDNUIsY0FBYyxHQUFHLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osY0FBYyxHQUFHLGtCQUFrQixDQUFDO1lBQ3hDLENBQUM7WUFFRCxNQUFNLHNCQUFzQixHQUFHLGNBQWMsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sdUJBQXVCLEdBQUcsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1lBRWhFLE9BQU87Z0JBQ0gsU0FBUyxFQUFFLGNBQWMsR0FBRyx1QkFBdUI7Z0JBQ25ELGVBQWUsRUFBRSxjQUFjLEdBQUcsSUFBSTtnQkFDdEMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlELGlCQUFpQixFQUFFLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsV0FBVyxFQUFFO2FBQ3BFLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0IsQ0FBQyx3QkFBZ0M7UUFDakQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGFBQWE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0QsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7K0dBL0RRLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZVN5bmMge1xuICAgIG91dE9mU3luYzogYm9vbGVhbjtcbiAgICB0aW1lT3V0T2ZTeW5jSW5TZWM/OiBudW1iZXI7XG4gICAgbG9jYWxEYXRlVGltZUlTTzogc3RyaW5nO1xuICAgIHNlcnZlckRhdGVUaW1lSVNPOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGltZVN5bmNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9odHRwOiBIdHRwQ2xpZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIF9hcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuX2h0dHAgPSB0aGlzLl9pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG4gICAgfVxuXG4gICAgY2hlY2tUaW1lU3luYyhtYXhBbGxvd2VkQ2xvY2tTa2V3SW5TZWM6IG51bWJlcik6IE9ic2VydmFibGU8VGltZVN5bmM+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZXJ2ZXJUaW1lKCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoc2VydmVyVGltZVJlc3BvbnNlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgc2VydmVyVGltZUluTXM6IG51bWJlcjtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdW5kVHJpcFRpbWVJbk1zID0gZW5kVGltZSAtIHN0YXJ0VGltZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VydmVyVGltZVJlc3BvbnNlSW5NcyA9IHNlcnZlclRpbWVSZXNwb25zZS50b1N0cmluZygpLmxlbmd0aCA9PT0gMTM7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1NlcnZlclRpbWVSZXNwb25zZUluTXMpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyVGltZUluTXMgPSBzZXJ2ZXJUaW1lUmVzcG9uc2UgKiAxMDAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlcnZlclRpbWVJbk1zID0gc2VydmVyVGltZVJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGFkanVzdGVkU2VydmVyVGltZUluTXMgPSBzZXJ2ZXJUaW1lSW5NcyArIHJvdW5kVHJpcFRpbWVJbk1zIC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NhbEN1cnJlbnRUaW1lSW5NcyA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGltZU9mZnNldEluTXMgPSBNYXRoLmFicyhsb2NhbEN1cnJlbnRUaW1lSW5NcyAtIGFkanVzdGVkU2VydmVyVGltZUluTXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heEFsbG93ZWRDbG9ja1NrZXdJbk1zID0gbWF4QWxsb3dlZENsb2NrU2tld0luU2VjICogMTAwMDtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIG91dE9mU3luYzogdGltZU9mZnNldEluTXMgPiBtYXhBbGxvd2VkQ2xvY2tTa2V3SW5NcyxcbiAgICAgICAgICAgICAgICAgICAgdGltZU9mZnNldEluU2VjOiB0aW1lT2Zmc2V0SW5NcyAvIDEwMDAsXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsRGF0ZVRpbWVJU086IG5ldyBEYXRlKGxvY2FsQ3VycmVudFRpbWVJbk1zKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJEYXRlVGltZUlTTzogbmV3IERhdGUoYWRqdXN0ZWRTZXJ2ZXJUaW1lSW5NcykudG9JU09TdHJpbmcoKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvcikpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgbG9jYWwgdGltZSBpcyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBzZXJ2ZXIgdGltZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXhBbGxvd2VkQ2xvY2tTa2V3SW5TZWMgLSBUaGUgbWF4aW11bSBhbGxvd2VkIGNsb2NrIHNrZXcgaW4gc2Vjb25kcy5cbiAgICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgbG9jYWwgdGltZSBpcyBvdXQgb2Ygc3luYy5cbiAgICAgKi9cbiAgICBpc0xvY2FsVGltZU91dE9mU3luYyhtYXhBbGxvd2VkQ2xvY2tTa2V3SW5TZWM6IG51bWJlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1RpbWVTeW5jKG1heEFsbG93ZWRDbG9ja1NrZXdJblNlYykucGlwZShtYXAoKHN5bmMpID0+IHN5bmMub3V0T2ZTeW5jKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2ZXJUaW1lKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuX2h0dHAuZ2V0PG51bWJlcj4odGhpcy5nZXRTZXJ2ZXJUaW1lVXJsKCkpKS5waXBlKFxuICAgICAgICAgICAgdGltZW91dCg1MDAwKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBnZXQgc2VydmVyIHRpbWUnKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2ZXJUaW1lVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlcnZlclRpbWVVcmwgPSB0aGlzLl9hcHBDb25maWdTZXJ2aWNlLmdldCgnc2VydmVyVGltZVVybCcsICcnKTtcbiAgICAgICAgaWYgKCFzZXJ2ZXJUaW1lVXJsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlcnZlclRpbWVVcmwgaXMgbm90IGNvbmZpZ3VyZWQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlcnZlclRpbWVVcmw7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,110 @@
|
|
|
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 { JwtHelperService } from './jwt-helper.service';
|
|
19
|
+
import { AppConfigService } from '../../app-config/app-config.service';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
import * as i1 from "./jwt-helper.service";
|
|
22
|
+
import * as i2 from "../../app-config/app-config.service";
|
|
23
|
+
export class UserAccessService {
|
|
24
|
+
constructor(jwtHelperService, appConfigService) {
|
|
25
|
+
this.jwtHelperService = jwtHelperService;
|
|
26
|
+
this.appConfigService = appConfigService;
|
|
27
|
+
}
|
|
28
|
+
fetchUserAccess() {
|
|
29
|
+
if (this.hasRolesInRealmAccess()) {
|
|
30
|
+
this.fetchAccessFromRealmAccess();
|
|
31
|
+
}
|
|
32
|
+
else if (this.hasRolesInHxpAuthorization()) {
|
|
33
|
+
this.fetchAccessFromHxpAuthorization();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
fetchAccessFromRealmAccess() {
|
|
37
|
+
this.globalAccess = this.jwtHelperService.getValueFromLocalToken(JwtHelperService.REALM_ACCESS).roles;
|
|
38
|
+
this.applicationAccess = this.jwtHelperService.getValueFromLocalToken(JwtHelperService.RESOURCE_ACCESS);
|
|
39
|
+
}
|
|
40
|
+
fetchAccessFromHxpAuthorization() {
|
|
41
|
+
this.globalAccess = [];
|
|
42
|
+
const hxpAuthorization = this.jwtHelperService.getValueFromLocalToken(JwtHelperService.HXP_AUTHORIZATION);
|
|
43
|
+
if (hxpAuthorization?.appkey && hxpAuthorization?.role) {
|
|
44
|
+
this.applicationAccess = [
|
|
45
|
+
{
|
|
46
|
+
name: hxpAuthorization.appkey,
|
|
47
|
+
roles: hxpAuthorization.role
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.applicationAccess = [];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
hasRolesInRealmAccess() {
|
|
56
|
+
return !!this.jwtHelperService.getValueFromLocalToken(JwtHelperService.REALM_ACCESS);
|
|
57
|
+
}
|
|
58
|
+
hasRolesInHxpAuthorization() {
|
|
59
|
+
return !!this.jwtHelperService.getValueFromLocalToken(JwtHelperService.HXP_AUTHORIZATION);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Checks for global roles access.
|
|
63
|
+
*
|
|
64
|
+
* @param rolesToCheck List of the roles to check
|
|
65
|
+
* @returns True if it contains at least one of the given roles, false otherwise
|
|
66
|
+
*/
|
|
67
|
+
hasGlobalAccess(rolesToCheck) {
|
|
68
|
+
if (rolesToCheck?.length > 0) {
|
|
69
|
+
if (this.hasRolesInRealmAccess()) {
|
|
70
|
+
return this.globalAccess ? this.globalAccess.some((role) => rolesToCheck.includes(role)) : false;
|
|
71
|
+
}
|
|
72
|
+
else if (this.hasRolesInHxpAuthorization()) {
|
|
73
|
+
return this.isCurrentAppKeyInToken() ? this.applicationAccess[0]?.roles.some((role) => rolesToCheck.includes(role)) : false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
isCurrentAppKeyInToken() {
|
|
82
|
+
const currentAppKey = this.appConfigService.get('application.key');
|
|
83
|
+
return this.applicationAccess?.length ? currentAppKey === this.applicationAccess[0]?.name : false;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Checks for global roles access.
|
|
87
|
+
*
|
|
88
|
+
* @param appName The app name
|
|
89
|
+
* @param rolesToCheck List of the roles to check
|
|
90
|
+
* @returns True if it contains at least one of the given roles, false otherwise
|
|
91
|
+
*/
|
|
92
|
+
hasApplicationAccess(appName, rolesToCheck) {
|
|
93
|
+
if (rolesToCheck?.length > 0) {
|
|
94
|
+
const appAccess = this.hasRolesInRealmAccess()
|
|
95
|
+
? this.applicationAccess[appName]
|
|
96
|
+
: this.applicationAccess.find((app) => app.name === appName);
|
|
97
|
+
return appAccess ? appAccess.roles.some((appRole) => rolesToCheck.includes(appRole)) : false;
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessService, deps: [{ token: i1.JwtHelperService }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
102
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessService, providedIn: 'root' }); }
|
|
103
|
+
}
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessService, decorators: [{
|
|
105
|
+
type: Injectable,
|
|
106
|
+
args: [{
|
|
107
|
+
providedIn: 'root'
|
|
108
|
+
}]
|
|
109
|
+
}], ctorParameters: () => [{ type: i1.JwtHelperService }, { type: i2.AppConfigService }] });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy91c2VyLWFjY2Vzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFLdkUsTUFBTSxPQUFPLGlCQUFpQjtJQUkxQixZQUFvQixnQkFBa0MsRUFBVSxnQkFBa0M7UUFBOUUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRXRHLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDdEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBTSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0csSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBTSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sK0JBQStCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFB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LENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pHLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOytHQWpGUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICcuL2p3dC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkFjY2Vzc01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FwcGxpY2F0aW9uLWFjY2Vzcy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJBY2Nlc3NTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGdsb2JhbEFjY2Vzczogc3RyaW5nW107XG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkFjY2VzczogQXBwbGljYXRpb25BY2Nlc3NNb2RlbFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBqd3RIZWxwZXJTZXJ2aWNlOiBKd3RIZWxwZXJTZXJ2aWNlLCBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBmZXRjaFVzZXJBY2Nlc3MoKSB7XG4gICAgICAgIGlmICh0aGlzLmhhc1JvbGVzSW5SZWFsbUFjY2VzcygpKSB7XG4gICAgICAgICAgICB0aGlzLmZldGNoQWNjZXNzRnJvbVJlYWxtQWNjZXNzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNSb2xlc0luSHhwQXV0aG9yaXphdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLmZldGNoQWNjZXNzRnJvbUh4cEF1dGhvcml6YXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hBY2Nlc3NGcm9tUmVhbG1BY2Nlc3MoKSB7XG4gICAgICAgIHRoaXMuZ2xvYmFsQWNjZXNzID0gdGhpcy5qd3RIZWxwZXJTZXJ2aWNlLmdldFZhbHVlRnJvbUxvY2FsVG9rZW48YW55PihKd3RIZWxwZXJTZXJ2aWNlLlJFQUxNX0FDQ0VTUykucm9sZXM7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25BY2Nlc3MgPSB0aGlzLmp3dEhlbHBlclNlcnZpY2UuZ2V0VmFsdWVGcm9tTG9jYWxUb2tlbjxhbnk+KEp3dEhlbHBlclNlcnZpY2UuUkVTT1VSQ0VfQUNDRVNTKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZldGNoQWNjZXNzRnJvbUh4cEF1dGhvcml6YXRpb24oKSB7XG4gICAgICAgIHRoaXMuZ2xvYmFsQWNjZXNzID0gW107XG4gICAgICAgIGNvbnN0IGh4cEF1dGhvcml6YXRpb24gPSB0aGlzLmp3dEhlbHBlclNlcnZpY2UuZ2V0VmFsdWVGcm9tTG9jYWxUb2tlbjxhbnk+KEp3dEhlbHBlclNlcnZpY2UuSFhQX0FVVEhPUklaQVRJT04pO1xuICAgICAgICBpZiAoaHhwQXV0aG9yaXphdGlvbj8uYXBwa2V5ICYmIGh4cEF1dGhvcml6YXRpb24/LnJvbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25BY2Nlc3MgPSBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBoeHBBdXRob3JpemF0aW9uLmFwcGtleSxcbiAgICAgICAgICAgICAgICAgICAgcm9sZXM6IGh4cEF1dGhvcml6YXRpb24ucm9sZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uQWNjZXNzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1JvbGVzSW5SZWFsbUFjY2VzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5qd3RIZWxwZXJTZXJ2aWNlLmdldFZhbHVlRnJvbUxvY2FsVG9rZW4oSnd0SGVscGVyU2VydmljZS5SRUFMTV9BQ0NFU1MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzUm9sZXNJbkh4cEF1dGhvcml6YXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuand0SGVscGVyU2VydmljZS5nZXRWYWx1ZUZyb21Mb2NhbFRva2VuKEp3dEhlbHBlclNlcnZpY2UuSFhQX0FVVEhPUklaQVRJT04pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBmb3IgZ2xvYmFsIHJvbGVzIGFjY2Vzcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb2xlc1RvQ2hlY2sgTGlzdCBvZiB0aGUgcm9sZXMgdG8gY2hlY2tcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBvZiB0aGUgZ2l2ZW4gcm9sZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGhhc0dsb2JhbEFjY2Vzcyhyb2xlc1RvQ2hlY2s6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChyb2xlc1RvQ2hlY2s/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1JvbGVzSW5SZWFsbUFjY2VzcygpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2xvYmFsQWNjZXNzID8gdGhpcy5nbG9iYWxBY2Nlc3Muc29tZSgocm9sZTogc3RyaW5nKSA9PiByb2xlc1RvQ2hlY2suaW5jbHVkZXMocm9sZSkpIDogZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzUm9sZXNJbkh4cEF1dGhvcml6YXRpb24oKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzQ3VycmVudEFwcEtleUluVG9rZW4oKSA/IHRoaXMuYXBwbGljYXRpb25BY2Nlc3NbMF0/LnJvbGVzLnNvbWUoKHJvbGU6IHN0cmluZykgPT4gcm9sZXNUb0NoZWNrLmluY2x1ZGVzKHJvbGUpKSA6IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDdXJyZW50QXBwS2V5SW5Ub2tlbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY3VycmVudEFwcEtleSA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQoJ2FwcGxpY2F0aW9uLmtleScpO1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkFjY2Vzcz8ubGVuZ3RoID8gY3VycmVudEFwcEtleSA9PT0gdGhpcy5hcHBsaWNhdGlvbkFjY2Vzc1swXT8ubmFtZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBmb3IgZ2xvYmFsIHJvbGVzIGFjY2Vzcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIFRoZSBhcHAgbmFtZVxuICAgICAqIEBwYXJhbSByb2xlc1RvQ2hlY2sgTGlzdCBvZiB0aGUgcm9sZXMgdG8gY2hlY2tcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGl0IGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBvZiB0aGUgZ2l2ZW4gcm9sZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGhhc0FwcGxpY2F0aW9uQWNjZXNzKGFwcE5hbWU6IHN0cmluZywgcm9sZXNUb0NoZWNrOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAocm9sZXNUb0NoZWNrPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBhcHBBY2Nlc3MgPSB0aGlzLmhhc1JvbGVzSW5SZWFsbUFjY2VzcygpXG4gICAgICAgICAgICAgICAgPyB0aGlzLmFwcGxpY2F0aW9uQWNjZXNzW2FwcE5hbWVdXG4gICAgICAgICAgICAgICAgOiB0aGlzLmFwcGxpY2F0aW9uQWNjZXNzLmZpbmQoKGFwcDogQXBwbGljYXRpb25BY2Nlc3NNb2RlbCkgPT4gYXBwLm5hbWUgPT09IGFwcE5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIGFwcEFjY2VzcyA/IGFwcEFjY2Vzcy5yb2xlcy5zb21lKChhcHBSb2xlKSA9PiByb2xlc1RvQ2hlY2suaW5jbHVkZXMoYXBwUm9sZSkpIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
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 { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
18
|
+
import { CommonModule } from '@angular/common';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/common";
|
|
21
|
+
export class AvatarComponent {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.initials = 'U';
|
|
24
|
+
this.tooltip = '';
|
|
25
|
+
this.size = getComputedStyle(document.documentElement).getPropertyValue('--adf-avatar-size');
|
|
26
|
+
this.cursor = getComputedStyle(document.documentElement).getPropertyValue('--adf-avatar-cursor');
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AvatarComponent, isStandalone: true, selector: "adf-avatar", inputs: { src: "src", initials: "initials", tooltip: "tooltip", size: "size", cursor: "cursor" }, host: { properties: { "style.--adf-avatar-size": "this.size", "style.--adf-avatar-cursor": "this.cursor" } }, ngImport: i0, template: "<div class=\"adf-avatar\">\n <img (error)=\"src = ''\" *ngIf=\"src; else initialsTemplate\" class=\"adf-avatar__image\" [src]=\"src\" [alt]=\"initials\" [title]=\"tooltip\" />\n</div>\n\n<ng-template #initialsTemplate>\n <div class=\"adf-avatar__image adf-avatar__initials\" [title]=\"tooltip\">{{ initials }}</div>\n</ng-template>\n", styles: [".adf-avatar{display:flex}.adf-avatar__image{cursor:var(--adf-avatar-cursor, auto);display:inline-block;overflow:hidden;line-height:1;border-radius:var(--adf-avatar-border-radius, 50%);width:var(--adf-avatar-size, 32px);height:var(--adf-avatar-size, 32px);color:var(--adf-avatar-color, #333);background-color:var(--adf-avatar-background-color, #f3f3f3);box-shadow:0 0 0 1px var(--adf-avatar-border-color, rgba(31, 35, 40, .15));font-size:var(--adf-avatar-font-size, 14px);font-weight:var(--adf-avatar-font-weight, 500);text-align:center;align-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'adf-avatar', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-avatar\">\n <img (error)=\"src = ''\" *ngIf=\"src; else initialsTemplate\" class=\"adf-avatar__image\" [src]=\"src\" [alt]=\"initials\" [title]=\"tooltip\" />\n</div>\n\n<ng-template #initialsTemplate>\n <div class=\"adf-avatar__image adf-avatar__initials\" [title]=\"tooltip\">{{ initials }}</div>\n</ng-template>\n", styles: [".adf-avatar{display:flex}.adf-avatar__image{cursor:var(--adf-avatar-cursor, auto);display:inline-block;overflow:hidden;line-height:1;border-radius:var(--adf-avatar-border-radius, 50%);width:var(--adf-avatar-size, 32px);height:var(--adf-avatar-size, 32px);color:var(--adf-avatar-color, #333);background-color:var(--adf-avatar-background-color, #f3f3f3);box-shadow:0 0 0 1px var(--adf-avatar-border-color, rgba(31, 35, 40, .15));font-size:var(--adf-avatar-font-size, 14px);font-weight:var(--adf-avatar-font-weight, 500);text-align:center;align-content:center}\n"] }]
|
|
34
|
+
}], propDecorators: { src: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], initials: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], tooltip: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], size: [{
|
|
41
|
+
type: HostBinding,
|
|
42
|
+
args: ['style.--adf-avatar-size']
|
|
43
|
+
}, {
|
|
44
|
+
type: Input
|
|
45
|
+
}], cursor: [{
|
|
46
|
+
type: HostBinding,
|
|
47
|
+
args: ['style.--adf-avatar-cursor']
|
|
48
|
+
}, {
|
|
49
|
+
type: Input
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBYUksYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUd2QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBSXJCLFNBQUksR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUl4RixXQUFNLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FDL0Y7K0dBakJZLGVBQWU7bUdBQWYsZUFBZSxzUkM1QjVCLHFWQU9BLHdtQkRnQmMsWUFBWTs7NEZBS2IsZUFBZTtrQkFSM0IsU0FBUzsrQkFDSSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLEdBQUc7c0JBREYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUtOLElBQUk7c0JBRkgsV0FBVzt1QkFBQyx5QkFBeUI7O3NCQUNyQyxLQUFLO2dCQUtOLE1BQU07c0JBRkwsV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWF2YXRhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzcmM6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgaW5pdGlhbHM6IHN0cmluZyA9ICdVJztcblxuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcDogc3RyaW5nID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tYWRmLWF2YXRhci1zaXplJylcbiAgICBASW5wdXQoKVxuICAgIHNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1hZGYtYXZhdGFyLXNpemUnKTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1hZGYtYXZhdGFyLWN1cnNvcicpXG4gICAgQElucHV0KClcbiAgICBjdXJzb3IgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1hZGYtYXZhdGFyLWN1cnNvcicpO1xufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1hdmF0YXJcIj5cbiAgICA8aW1nIChlcnJvcik9XCJzcmMgPSAnJ1wiICpuZ0lmPVwic3JjOyBlbHNlIGluaXRpYWxzVGVtcGxhdGVcIiBjbGFzcz1cImFkZi1hdmF0YXJfX2ltYWdlXCIgW3NyY109XCJzcmNcIiBbYWx0XT1cImluaXRpYWxzXCIgW3RpdGxlXT1cInRvb2x0aXBcIiAvPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5pdGlhbHNUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWF2YXRhcl9faW1hZ2UgYWRmLWF2YXRhcl9faW5pdGlhbHNcIiBbdGl0bGVdPVwidG9vbHRpcFwiPnt7IGluaXRpYWxzIH19PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -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 { Component } from '@angular/core';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
export class BlankPageComponent {
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlankPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BlankPageComponent, isStandalone: true, selector: "adf-blank-page", ngImport: i0, template: ``, isInline: true }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlankPageComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: 'adf-blank-page',
|
|
27
|
+
standalone: true,
|
|
28
|
+
template: ``
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhbmstcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2JsYW5rLXBhZ2UvYmxhbmstcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO21HQUFsQixrQkFBa0IsMEVBRmpCLEVBQUU7OzRGQUVILGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1ibGFuay1wYWdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBCbGFua1BhZ2VDb21wb25lbnQge31cbiJdfQ==
|