@api-client/ui 0.0.4 → 0.0.5
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/dist/amf/lib/AmfParameters.js +0 -4
- package/dist/amf/lib/AmfParameters.js.map +1 -1
- package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
- package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
- package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
- package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
- package/dist/amf/store/AmfGraphStore.js +0 -2
- package/dist/amf/store/AmfGraphStore.js.map +1 -1
- package/dist/amf/store/AmfStore.js +0 -7
- package/dist/amf/store/AmfStore.js.map +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
- package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/base/PlatformBindings.js +6 -10
- package/dist/bindings/base/PlatformBindings.js.map +1 -1
- package/dist/bindings/base/ProxyBindings.js +9 -6
- package/dist/bindings/base/ProxyBindings.js.map +1 -1
- package/dist/bindings/base/SharedWorkerThread.js +4 -1
- package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
- package/dist/bindings/base/StoreBindings.js +162 -170
- package/dist/bindings/base/StoreBindings.js.map +1 -1
- package/dist/bindings/web/WebConfigurationBindings.js +22 -24
- package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
- package/dist/bindings/web/WebFileBindings.js +7 -4
- package/dist/bindings/web/WebFileBindings.js.map +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
- package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/web/WebNavigationBindings.js +4 -1
- package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
- package/dist/bindings/web/WebProxyBindings.js +5 -6
- package/dist/bindings/web/WebProxyBindings.js.map +1 -1
- package/dist/bindings/web/WebStoreBindings.js +39 -44
- package/dist/bindings/web/WebStoreBindings.js.map +1 -1
- package/dist/contextual-menu/ContextualMenu.js +10 -19
- package/dist/contextual-menu/ContextualMenu.js.map +1 -1
- package/dist/contextual-menu/ContextualMenuElement.js +4 -32
- package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
- package/dist/contextual-menu/MenuItem.js +0 -12
- package/dist/contextual-menu/MenuItem.js.map +1 -1
- package/dist/define/amf/api-annotation-document.js +1 -1
- package/dist/define/amf/api-annotation-document.js.map +1 -1
- package/dist/define/amf/api-authorization-editor.js +1 -1
- package/dist/define/amf/api-authorization-editor.js.map +1 -1
- package/dist/define/amf/api-channel-document.js +1 -1
- package/dist/define/amf/api-channel-document.js.map +1 -1
- package/dist/define/amf/api-documentation-document.js +1 -1
- package/dist/define/amf/api-documentation-document.js.map +1 -1
- package/dist/define/amf/api-documentation.js +1 -1
- package/dist/define/amf/api-documentation.js.map +1 -1
- package/dist/define/amf/api-navigation.js +1 -1
- package/dist/define/amf/api-navigation.js.map +1 -1
- package/dist/define/amf/api-operation-document.js +1 -1
- package/dist/define/amf/api-operation-document.js.map +1 -1
- package/dist/define/amf/api-parameter-document.js +1 -1
- package/dist/define/amf/api-parameter-document.js.map +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
- package/dist/define/amf/api-payload-document.js +1 -1
- package/dist/define/amf/api-payload-document.js.map +1 -1
- package/dist/define/amf/api-request-document.js +1 -1
- package/dist/define/amf/api-request-document.js.map +1 -1
- package/dist/define/amf/api-request-editor.js +1 -1
- package/dist/define/amf/api-request-editor.js.map +1 -1
- package/dist/define/amf/api-request.js +1 -1
- package/dist/define/amf/api-request.js.map +1 -1
- package/dist/define/amf/api-resource-document.js +1 -1
- package/dist/define/amf/api-resource-document.js.map +1 -1
- package/dist/define/amf/api-response-document.js +1 -1
- package/dist/define/amf/api-response-document.js.map +1 -1
- package/dist/define/amf/api-schema-document.js +1 -1
- package/dist/define/amf/api-schema-document.js.map +1 -1
- package/dist/define/amf/api-security-document.js +1 -1
- package/dist/define/amf/api-security-document.js.map +1 -1
- package/dist/define/amf/api-security-requirement-document.js +1 -1
- package/dist/define/amf/api-security-requirement-document.js.map +1 -1
- package/dist/define/amf/api-server-picker.js +1 -1
- package/dist/define/amf/api-server-picker.js.map +1 -1
- package/dist/define/amf/api-summary.js +1 -1
- package/dist/define/amf/api-summary.js.map +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
- package/dist/define/authorization/apikey-authorization.js +1 -1
- package/dist/define/authorization/apikey-authorization.js.map +1 -1
- package/dist/define/authorization/basic-authorization.js +1 -1
- package/dist/define/authorization/basic-authorization.js.map +1 -1
- package/dist/define/authorization/bearer-authorization.js +1 -1
- package/dist/define/authorization/bearer-authorization.js.map +1 -1
- package/dist/define/authorization/cc-authorization.js +1 -1
- package/dist/define/authorization/cc-authorization.js.map +1 -1
- package/dist/define/authorization/ntlm-authorization.js +1 -1
- package/dist/define/authorization/ntlm-authorization.js.map +1 -1
- package/dist/define/authorization/oauth2-authorization.js +1 -1
- package/dist/define/authorization/oauth2-authorization.js.map +1 -1
- package/dist/define/authorization/oidc-authorization.js +1 -1
- package/dist/define/authorization/oidc-authorization.js.map +1 -1
- package/dist/define/contextual-menu/contextual-menu.js +1 -1
- package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
- package/dist/define/dialog/rename-dialog.js +1 -1
- package/dist/define/dialog/rename-dialog.js.map +1 -1
- package/dist/define/files/share-file.js +1 -1
- package/dist/define/files/share-file.js.map +1 -1
- package/dist/define/har/har-viewer.js +1 -1
- package/dist/define/har/har-viewer.js.map +1 -1
- package/dist/define/highlight/marked-highlight.js +1 -1
- package/dist/define/highlight/marked-highlight.js.map +1 -1
- package/dist/define/highlight/prism-highlight.js +1 -1
- package/dist/define/highlight/prism-highlight.js.map +1 -1
- package/dist/define/http/http-assertions.js +1 -1
- package/dist/define/http/http-assertions.js.map +1 -1
- package/dist/define/http/http-body-editor.js +1 -1
- package/dist/define/http/http-body-editor.js.map +1 -1
- package/dist/define/http/http-body-multipart-editor.js +1 -1
- package/dist/define/http/http-body-multipart-editor.js.map +1 -1
- package/dist/define/http/http-body-text-editor.js +1 -1
- package/dist/define/http/http-body-text-editor.js.map +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
- package/dist/define/http/http-headers-form.js +1 -1
- package/dist/define/http/http-headers-form.js.map +1 -1
- package/dist/define/http/http-log-body.js +1 -1
- package/dist/define/http/http-log-body.js.map +1 -1
- package/dist/define/http/http-log-headers.js +1 -1
- package/dist/define/http/http-log-headers.js.map +1 -1
- package/dist/define/http/http-log-timings.js +1 -1
- package/dist/define/http/http-log-timings.js.map +1 -1
- package/dist/define/http/http-request-config.js +1 -1
- package/dist/define/http/http-request-config.js.map +1 -1
- package/dist/define/http/http-request-editor.js +1 -1
- package/dist/define/http/http-request-editor.js.map +1 -1
- package/dist/define/http/http-request-log.js +1 -1
- package/dist/define/http/http-request-log.js.map +1 -1
- package/dist/define/http/http-snippets.js +1 -1
- package/dist/define/http/http-snippets.js.map +1 -1
- package/dist/define/http/http-url-input.js +1 -1
- package/dist/define/http/http-url-input.js.map +1 -1
- package/dist/define/http/http-url-params-form.js +1 -1
- package/dist/define/http/http-url-params-form.js.map +1 -1
- package/dist/define/http-project/http-project-request-history.js +1 -1
- package/dist/define/http-project/http-project-request-history.js.map +1 -1
- package/dist/define/http-project/http-project-request.js +2 -2
- package/dist/define/http-project/http-project-request.js.map +1 -1
- package/dist/define/http-project/project-navigation.js +1 -1
- package/dist/define/http-project/project-navigation.js.map +1 -1
- package/dist/define/http-project/project-run-report.js +1 -1
- package/dist/define/http-project/project-run-report.js.map +1 -1
- package/dist/define/http-project/project-runner.js +2 -2
- package/dist/define/http-project/project-runner.js.map +1 -1
- package/dist/define/layout/split-view.js +1 -1
- package/dist/define/layout/split-view.js.map +1 -1
- package/dist/define/schema-design/schema-design-navigation.js +1 -1
- package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
- package/dist/define/ui/ui-button.js +1 -1
- package/dist/define/ui/ui-button.js.map +1 -1
- package/dist/define/ui/ui-chip.js +1 -1
- package/dist/define/ui/ui-chip.js.map +1 -1
- package/dist/define/ui/ui-collapse.js +1 -1
- package/dist/define/ui/ui-collapse.js.map +1 -1
- package/dist/define/ui/ui-dialog.js +1 -1
- package/dist/define/ui/ui-dialog.js.map +1 -1
- package/dist/define/ui/ui-dropdown-list.js +1 -1
- package/dist/define/ui/ui-dropdown-list.js.map +1 -1
- package/dist/define/ui/ui-icon-button.js +1 -1
- package/dist/define/ui/ui-icon-button.js.map +1 -1
- package/dist/define/ui/ui-icon.js +1 -1
- package/dist/define/ui/ui-icon.js.map +1 -1
- package/dist/define/ui/ui-list-item.js +1 -1
- package/dist/define/ui/ui-list-item.js.map +1 -1
- package/dist/define/ui/ui-list.js +1 -1
- package/dist/define/ui/ui-list.js.map +1 -1
- package/dist/define/ui/ui-listbox.js +1 -1
- package/dist/define/ui/ui-listbox.js.map +1 -1
- package/dist/define/ui/ui-progress.js +1 -1
- package/dist/define/ui/ui-progress.js.map +1 -1
- package/dist/define/ui/ui-segmented-button-set.js +1 -1
- package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
- package/dist/define/ui/ui-segmented-button.js +1 -1
- package/dist/define/ui/ui-segmented-button.js.map +1 -1
- package/dist/define/ui/ui-snackbar.js +1 -1
- package/dist/define/ui/ui-snackbar.js.map +1 -1
- package/dist/define/ui/ui-tab.js +1 -1
- package/dist/define/ui/ui-tab.js.map +1 -1
- package/dist/define/ui/ui-tabs.js +1 -1
- package/dist/define/ui/ui-tabs.js.map +1 -1
- package/dist/directives/data-attr.js +0 -1
- package/dist/directives/data-attr.js.map +1 -1
- package/dist/elements/ApiElement.js +0 -7
- package/dist/elements/ApiElement.js.map +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
- package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js +0 -32
- package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentation.element.js +0 -91
- package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationBase.js +0 -9
- package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiNavigation.element.js +0 -97
- package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js +0 -76
- package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
- package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequest.element.js +0 -78
- package/dist/elements/amf/ApiRequest.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
- package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js +0 -118
- package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
- package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
- package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
- package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
- package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiServerPicker.element.js +2 -65
- package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
- package/dist/elements/amf/ApiSummary.element.js +0 -26
- package/dist/elements/amf/ApiSummary.element.js.map +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
- package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBasic.js +0 -4
- package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBearer.js +0 -4
- package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
- package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOidc.js +0 -4
- package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
- package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
- package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
- package/dist/elements/authorization/OAuth2Authorize.js +0 -14
- package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
- package/dist/elements/authorization/OidcAuthorize.js +0 -14
- package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/Authorization.js +18 -32
- package/dist/elements/authorization/ui/Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
- package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
- package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
- package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/dist/elements/code/HttpSnippets.js +9 -8
- package/dist/elements/code/HttpSnippets.js.map +1 -1
- package/dist/elements/dialog/ConfirmDelete.js +0 -12
- package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
- package/dist/elements/dialog/Rename.js +0 -6
- package/dist/elements/dialog/Rename.js.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.js +8 -11
- package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
- package/dist/elements/environment/ServerEditor.js +7 -45
- package/dist/elements/environment/ServerEditor.js.map +1 -1
- package/dist/elements/environment/VariablesEditor.js +7 -12
- package/dist/elements/environment/VariablesEditor.js.map +1 -1
- package/dist/elements/files/ShareFile.js +19 -57
- package/dist/elements/files/ShareFile.js.map +1 -1
- package/dist/elements/har/HarViewer.js +6 -7
- package/dist/elements/har/HarViewer.js.map +1 -1
- package/dist/elements/highlight/MarkedHighlight.js +4 -56
- package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
- package/dist/elements/highlight/PrismHighlight.js +9 -18
- package/dist/elements/highlight/PrismHighlight.js.map +1 -1
- package/dist/elements/highlight/PrismHighlighter.js +4 -6
- package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
- package/dist/elements/http/BodyEditor.js +21 -33
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.js +17 -18
- package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
- package/dist/elements/http/BodyTextEditor.js +2 -15
- package/dist/elements/http/BodyTextEditor.js.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js +20 -21
- package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/dist/elements/http/HeadersForm.js +16 -17
- package/dist/elements/http/HeadersForm.js.map +1 -1
- package/dist/elements/http/HttpAssertions.js +8 -6
- package/dist/elements/http/HttpAssertions.js.map +1 -1
- package/dist/elements/http/LogBody.js +10 -21
- package/dist/elements/http/LogBody.js.map +1 -1
- package/dist/elements/http/LogHeaders.js +4 -23
- package/dist/elements/http/LogHeaders.js.map +1 -1
- package/dist/elements/http/LogTimings.js +11 -13
- package/dist/elements/http/LogTimings.js.map +1 -1
- package/dist/elements/http/RequestConfigElement.js +7 -4
- package/dist/elements/http/RequestConfigElement.js.map +1 -1
- package/dist/elements/http/RequestEditor.js +54 -88
- package/dist/elements/http/RequestEditor.js.map +1 -1
- package/dist/elements/http/RequestLog.js +9 -14
- package/dist/elements/http/RequestLog.js.map +1 -1
- package/dist/elements/http/UrlInput.js +15 -25
- package/dist/elements/http/UrlInput.js.map +1 -1
- package/dist/elements/http/UrlParamsForm.js +16 -13
- package/dist/elements/http/UrlParamsForm.js.map +1 -1
- package/dist/elements/layout/LayoutManager.js +16 -24
- package/dist/elements/layout/LayoutManager.js.map +1 -1
- package/dist/elements/layout/LayoutPanelElement.js +17 -23
- package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
- package/dist/elements/layout/SplitItem.js +4 -12
- package/dist/elements/layout/SplitItem.js.map +1 -1
- package/dist/elements/layout/SplitLayout.js +18 -24
- package/dist/elements/layout/SplitLayout.js.map +1 -1
- package/dist/elements/layout/SplitPanel.js +10 -16
- package/dist/elements/layout/SplitPanel.js.map +1 -1
- package/dist/elements/layout/SplitView.js +17 -26
- package/dist/elements/layout/SplitView.js.map +1 -1
- package/dist/elements/navigation/AppNavigationElement.js +8 -47
- package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
- package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
- package/dist/elements/project/HttpProjectRequest.js +0 -38
- package/dist/elements/project/HttpProjectRequest.js.map +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
- package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/dist/elements/project/ProjectNavigation.js +0 -4
- package/dist/elements/project/ProjectNavigation.js.map +1 -1
- package/dist/elements/project/ProjectRunReport.js +4 -15
- package/dist/elements/project/ProjectRunReport.js.map +1 -1
- package/dist/elements/project/ProjectRunner.js +2 -47
- package/dist/elements/project/ProjectRunner.js.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js +0 -13
- package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js +0 -22
- package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
- package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js +0 -36
- package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.js +0 -18
- package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js +0 -12
- package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
- package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
- package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
- package/dist/elements/user/UserAvatarElement.js +0 -9
- package/dist/elements/user/UserAvatarElement.js.map +1 -1
- package/dist/events/http-client/models/CertificatesEvents.js +2 -2
- package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
- package/dist/http-client/idb/Base.js +5 -10
- package/dist/http-client/idb/Base.js.map +1 -1
- package/dist/http-client/idb/LegacyMockedStore.js +0 -1
- package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
- package/dist/http-client/idb/MockedStore.js +3 -1
- package/dist/http-client/idb/MockedStore.js.map +1 -1
- package/dist/http-client/store/DataImportProcessor.js +0 -3
- package/dist/http-client/store/DataImportProcessor.js.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
- package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
- package/dist/http-client/store/IdbThread.js +23 -20
- package/dist/http-client/store/IdbThread.js.map +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
- package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
- package/dist/http-client/store/idb/IdbStore.js +0 -2
- package/dist/http-client/store/idb/IdbStore.js.map +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
- package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
- package/dist/lib/chart/HttpHistoryChart.js +7 -8
- package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
- package/dist/mixins/FileDropMixin.js +0 -1
- package/dist/mixins/FileDropMixin.js.map +1 -1
- package/dist/mixins/RenderableMixin.js +11 -15
- package/dist/mixins/RenderableMixin.js.map +1 -1
- package/dist/pages/ApplicationScreen.js +34 -55
- package/dist/pages/ApplicationScreen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.js +11 -20
- package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.js +4 -6
- package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js +21 -37
- package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
- package/dist/pages/api-client/Telemetry.screen.js +1 -2
- package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +6 -27
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/api-client/pages/Settings.page.js +2 -4
- package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.js +2 -13
- package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
- package/dist/pages/demo/DemoPage.js +13 -13
- package/dist/pages/demo/DemoPage.js.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.js +25 -35
- package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
- package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
- package/dist/store/HttpStore.js +0 -3
- package/dist/store/HttpStore.js.map +1 -1
- package/dist/store/UserCache.js +5 -5
- package/dist/store/UserCache.js.map +1 -1
- package/dist/ui/UiElement.js +4 -5
- package/dist/ui/UiElement.js.map +1 -1
- package/dist/ui/button/SegmentedButton.js +9 -11
- package/dist/ui/button/SegmentedButton.js.map +1 -1
- package/dist/ui/button/SegmentedButtonsSet.js +6 -7
- package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
- package/dist/ui/button/UiButton.js +17 -39
- package/dist/ui/button/UiButton.js.map +1 -1
- package/dist/ui/button/UiIconButton.js +9 -35
- package/dist/ui/button/UiIconButton.js.map +1 -1
- package/dist/ui/chip/UiChip.js +9 -49
- package/dist/ui/chip/UiChip.js.map +1 -1
- package/dist/ui/collapse/UiCollapse.js +15 -20
- package/dist/ui/collapse/UiCollapse.js.map +1 -1
- package/dist/ui/controllers/ActionController.js +143 -144
- package/dist/ui/controllers/ActionController.js.map +1 -1
- package/dist/ui/controllers/RadioSelectionController.js +0 -1
- package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
- package/dist/ui/date/DateTime.js +3 -3
- package/dist/ui/date/DateTime.js.map +1 -1
- package/dist/ui/dialog/UiDialog.js +14 -38
- package/dist/ui/dialog/UiDialog.js.map +1 -1
- package/dist/ui/effects/ripple.js +20 -18
- package/dist/ui/effects/ripple.js.map +1 -1
- package/dist/ui/effects/rippleDirective.js +6 -7
- package/dist/ui/effects/rippleDirective.js.map +1 -1
- package/dist/ui/icons/UiIcon.js +4 -3
- package/dist/ui/icons/UiIcon.js.map +1 -1
- package/dist/ui/input/CheckboxElement.js +12 -10
- package/dist/ui/input/CheckboxElement.js.map +1 -1
- package/dist/ui/input/CheckedElement.js +2 -13
- package/dist/ui/input/CheckedElement.js.map +1 -1
- package/dist/ui/input/Input.js +169 -234
- package/dist/ui/input/Input.js.map +1 -1
- package/dist/ui/input/RadioElement.js +13 -11
- package/dist/ui/input/RadioElement.js.map +1 -1
- package/dist/ui/input/SwitchElement.js +0 -18
- package/dist/ui/input/SwitchElement.js.map +1 -1
- package/dist/ui/input/TextAreaElement.js +0 -15
- package/dist/ui/input/TextAreaElement.js.map +1 -1
- package/dist/ui/list/DividerElement.js +5 -10
- package/dist/ui/list/DividerElement.js.map +1 -1
- package/dist/ui/list/UiDropdownList.js +7 -48
- package/dist/ui/list/UiDropdownList.js.map +1 -1
- package/dist/ui/list/UiList.js +3 -15
- package/dist/ui/list/UiList.js.map +1 -1
- package/dist/ui/list/UiListItem.js +4 -17
- package/dist/ui/list/UiListItem.js.map +1 -1
- package/dist/ui/list/UiListbox.js +0 -1
- package/dist/ui/list/UiListbox.js.map +1 -1
- package/dist/ui/notification/SnackNotifications.js +1 -2
- package/dist/ui/notification/SnackNotifications.js.map +1 -1
- package/dist/ui/notification/Snackbar.js +27 -51
- package/dist/ui/notification/Snackbar.js.map +1 -1
- package/dist/ui/progress/Range.js +24 -23
- package/dist/ui/progress/Range.js.map +1 -1
- package/dist/ui/progress/UiProgress.js +0 -11
- package/dist/ui/progress/UiProgress.js.map +1 -1
- package/dist/ui/table/DataTable.js +7 -12
- package/dist/ui/table/DataTable.js.map +1 -1
- package/dist/ui/tabs/UiTab.js +24 -25
- package/dist/ui/tabs/UiTab.js.map +1 -1
- package/dist/ui/tabs/UiTabs.js +21 -35
- package/dist/ui/tabs/UiTabs.js.map +1 -1
- package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
- package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
- package/dist/visualization/lib/AssociationAnchors.js +16 -28
- package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
- package/dist/visualization/lib/Point.js +0 -2
- package/dist/visualization/lib/Point.js.map +1 -1
- package/dist/visualization/lib/SelectionManager.js +10 -11
- package/dist/visualization/lib/SelectionManager.js.map +1 -1
- package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
- package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
- package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
- package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
- package/dist/visualization/lib/WorkspaceEdges.js +17 -19
- package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
- package/dist/visualization/lib/WorkspaceGestures.js +0 -3
- package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
- package/dist/visualization/lib/WorkspaceSizing.js +4 -6
- package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
- package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
- package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
- package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
- package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
- package/dist/visualization/lib/tips/TipArtist.js +0 -3
- package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
- package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
- package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
- package/package.json +3 -2
- package/tsconfig.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmfPassThrough.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\n\nexport default class AmfPassThrough extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'pass through',\n valid: false,\n config: { } as IPassThroughAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('Pass Through')) {\n return;\n }\n\n const { headers, queryParameters, queryString } = scheme;\n this.appendToParams(headers, 'header', true);\n this.appendToParams(queryParameters, 'query', true);\n if (queryString && (!queryParameters || !queryParameters.length)) {\n this.appendQueryString(queryString);\n }\n this.schemeName = security.name || scheme.name;\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n appendQueryString(queryString: AmfShapes.IShapeUnion): void {\n const object = queryString as AmfShapes.IApiNodeShape;\n if (!object.properties || !object.properties.length) {\n return;\n }\n const list = object.properties.map((item) => {\n const { id, range, name, minCount = 0 } = item;\n return {\n id,\n binding: 'query',\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n } as ApiDefinitions.IApiParameter;\n });\n this.appendToParams(list, 'query', true);\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters.\n * @param list\n * @param source\n * @param clear When set it clears the previously set parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: 'header' | 'query', clear = false): void {\n const { amfParameters } = this;\n let params = amfParameters.parametersValue;\n if (clear) {\n params = params.filter(p => p.source !== source);\n }\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: param,\n binding: param.binding || '',\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n this.amfParameters.parametersValue = params;\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IPassThroughAuthorization {\n const params = this.amfParameters.parametersValue;\n const result: IPassThroughAuthorization = {};\n (params || []).forEach((param) => {\n if (!result[param.binding as keyof IPassThroughAuthorization]) {\n result[param.binding as keyof IPassThroughAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IPassThroughAuthorization] as Record<string, string>)[param.parameter.name as keyof IPassThroughAuthorization] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n const hasInvalid = parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n return !hasInvalid;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form passthrough-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AmfPassThrough.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfPassThrough.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IPassThroughAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\n\nexport default class AmfPassThrough extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'pass through',\n valid: false,\n config: { } as IPassThroughAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('Pass Through')) {\n return;\n }\n\n const { headers, queryParameters, queryString } = scheme;\n this.appendToParams(headers, 'header', true);\n this.appendToParams(queryParameters, 'query', true);\n if (queryString && (!queryParameters || !queryParameters.length)) {\n this.appendQueryString(queryString);\n }\n this.schemeName = security.name || scheme.name;\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n appendQueryString(queryString: AmfShapes.IShapeUnion): void {\n const object = queryString as AmfShapes.IApiNodeShape;\n if (!object.properties || !object.properties.length) {\n return;\n }\n const list = object.properties.map((item) => {\n const { id, range, name, minCount = 0 } = item;\n return {\n id,\n binding: 'query',\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n } as ApiDefinitions.IApiParameter;\n });\n this.appendToParams(list, 'query', true);\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters.\n * @param list\n * @param source\n * @param clear When set it clears the previously set parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: 'header' | 'query', clear = false): void {\n const { amfParameters } = this;\n let params = amfParameters.parametersValue;\n if (clear) {\n params = params.filter(p => p.source !== source);\n }\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: param,\n binding: param.binding || '',\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n this.amfParameters.parametersValue = params;\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IPassThroughAuthorization {\n const params = this.amfParameters.parametersValue;\n const result: IPassThroughAuthorization = {};\n (params || []).forEach((param) => {\n if (!result[param.binding as keyof IPassThroughAuthorization]) {\n result[param.binding as keyof IPassThroughAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IPassThroughAuthorization] as Record<string, string>)[param.parameter.name as keyof IPassThroughAuthorization] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n const hasInvalid = parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n return !hasInvalid;\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form passthrough-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -6,12 +6,6 @@ import { Authorization } from "../../authorization/ui/Authorization.js";
|
|
|
6
6
|
import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
|
|
7
7
|
import * as InputCache from '../../../amf/lib/InputCache.js';
|
|
8
8
|
export default class AmfRamlCustom extends Authorization {
|
|
9
|
-
/**
|
|
10
|
-
* The in-memory key where the values are stored.
|
|
11
|
-
*/
|
|
12
|
-
security;
|
|
13
|
-
amfParameters;
|
|
14
|
-
schemeName;
|
|
15
9
|
constructor() {
|
|
16
10
|
super();
|
|
17
11
|
this.amfParameters = new AmfParameters(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmfRamlCustom.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkC,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAmE,YAAY,EAAa,MAAM,mCAAmC,CAAC;AACvK,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAG7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACtD;;OAEG;IACyB,QAAQ,CAAiD;IAE3E,aAAa,CAAgB;IAE9B,UAAU,CAAU;IAE7B;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,CAAC;IAEkB,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAES,iBAAiB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAA8B;aACvC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;YAC5G,OAAO;SACR;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO;SACR;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAClD,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpB,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;oBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS,EAAE,KAAK;oBAChB,MAAM;oBACN,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzC,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAClC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;oBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS,EAAE,KAAK;oBAChB,MAAM;oBACN,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzC,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,eAAe,IAAI,WAAW,EAAE;YACnC,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE;gBACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;SACF;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;QAE/C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,yBAAyB,CAAC,KAA4B,EAAE,OAAe,EAAE,MAAc;QACrF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,WAAW,GAAiC;YAChD,EAAE;YACF,OAAO;YACP,MAAM,EAAE,KAAK;YACb,IAAI;YACJ,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;YAC5D,QAAQ,EAAE,KAAK;YACf,sBAAsB,EAAE,EAAE;SAC3B,CAAC;QACF,OAAO;YACL,OAAO;YACP,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,WAAW;YACtB,MAAM;YACN,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED,2BAA2B,CAAC,IAAiC,EAAE,OAAe,EAAE,MAAc;QAC5F,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;QAC/C,MAAM,WAAW,GAAiC;YAChD,EAAE;YACF,OAAO;YACP,MAAM,EAAE,KAAK;YACb,IAAI;YACJ,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;YAC5D,QAAQ,EAAE,QAAQ,GAAG,CAAC;YACtB,sBAAsB,EAAE,EAAE;SAC3B,CAAC;QACF,OAAO;YACL,OAAO;YACP,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,WAAW;YACtB,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,MAAM,EAAE,IAA6B;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAY,EAAE,QAAgB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACjF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAY,EAAE,QAAgB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAyC,CAAC,EAAE;gBAC5D,MAAM,CAAC,KAAK,CAAC,OAAyC,CAAC,GAAG,EAAE,CAAC;aAC9D;YACD,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAqB,CAAC;YAC1E,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;oBACtC,OAAO;iBACR;gBACD,KAAK,GAAG,EAAE,CAAC;aACZ;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACzD,OAAO;aACR;YACD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAK,GAAG,EAAE,CAAC;aACZ;YACA,MAAM,CAAC,KAAK,CAAC,OAAyC,CAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAe,CAAC;QACpI,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,aAAa;QACpB,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1D,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvC,OAAO,KAAK,CAAC;aACd;YACD,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;MACT,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,YAAY,EAAE;KACpB,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,aAAa,EAAE;;MAEtB,IAAI,CAAC,cAAc,EAAE;KACtB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAClE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;;MAET,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjE,CAAC;IACJ,CAAC;IAEkB,YAAY;QAC7B,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAA;;yCAE0B,UAAU;;KAE9C,CAAC;IACJ,CAAC;CACF;AApR6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAA0D;AAI5E;IAAR,KAAK,EAAE;iDAAqB","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { OperationParameter } from \"../../../amf/types.js\";\n\nexport default class AmfRamlCustom extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'raml custom',\n valid: false,\n config: {} as IRamlCustomAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('x-')) {\n return;\n }\n const params = this.amfParameters.parametersValue;\n const { headers, queryParameters, queryString } = scheme;\n if (Array.isArray(headers)) {\n headers.forEach((p) => {\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n let addedParameters = false;\n if (Array.isArray(queryParameters)) {\n queryParameters.forEach((p) => {\n addedParameters = true;\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n if (!addedParameters && queryString) {\n const shape = queryString as AmfShapes.IApiNodeShape;\n const { properties } = shape;\n const binding = 'query';\n if (!properties) {\n params.push(this.createParameterFromSchema(shape, binding, source));\n } else {\n properties.forEach((prop) => {\n params.push(this.createParameterFromProperty(prop, binding, source));\n });\n }\n }\n this.schemeName = security.name || scheme.name;\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n createParameterFromSchema(shape: AmfShapes.IShapeUnion, binding: string, source: string): OperationParameter {\n const { id, name } = shape;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: shape,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: false,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: id,\n schema: shape,\n };\n }\n\n createParameterFromProperty(prop: AmfShapes.IApiPropertyShape, binding: string, source: string): OperationParameter {\n const { id, range, name, minCount = 0 } = prop;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: prop.id,\n schema: prop as AmfShapes.IShapeUnion,\n };\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IRamlCustomAuthorization {\n const result: IRamlCustomAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IRamlCustomAuthorization]) {\n result[param.binding as keyof IRamlCustomAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IRamlCustomAuthorization] as Record<string, string>)[param.parameter.name || ''] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n return !parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form custom-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AmfRamlCustom.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfRamlCustom.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IRamlCustomAuthorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, AmfShapes } from \"@api-client/core/build/browser.js\";\nimport { Authorization } from \"../../authorization/ui/Authorization.js\";\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { OperationParameter } from \"../../../amf/types.js\";\n\nexport default class AmfRamlCustom extends Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n protected amfParameters: AmfParameters;\n\n @state() schemeName?: string;\n\n constructor() {\n super();\n this.amfParameters = new AmfParameters(this);\n this.amfParameters.globalCache = true;\n this.amfParameters.addEventListener('render', () => this.requestUpdate());\n this.amfParameters.addEventListener('change', () => this.notifyChange());\n this.amfParameters.addEventListener('paramchange', () => this.handleParamChange());\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('security')) {\n this.restoreValues();\n }\n super.willUpdate(cp);\n }\n\n protected handleParamChange(): void {\n const auth = this.ensureConfig();\n auth.config = this.serialize();\n }\n\n protected ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'raml custom',\n valid: false,\n config: {} as IRamlCustomAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n const auth = this.ensureConfig();\n const source = 'settings';\n const list = this.amfParameters.parametersValue;\n this.amfParameters.parametersValue = list.filter(item => item.source !== source);\n if (!security || !security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const { type } = scheme;\n if (!type || !type.startsWith('x-')) {\n return;\n }\n const params = this.amfParameters.parametersValue;\n const { headers, queryParameters, queryString } = scheme;\n if (Array.isArray(headers)) {\n headers.forEach((p) => {\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n let addedParameters = false;\n if (Array.isArray(queryParameters)) {\n queryParameters.forEach((p) => {\n addedParameters = true;\n const param = { ...p, required: true };\n params.push({\n binding: param.binding || '',\n paramId: param.id,\n parameter: param,\n source,\n schemaId: param.schema && param.schema.id,\n schema: param.schema,\n });\n });\n }\n if (!addedParameters && queryString) {\n const shape = queryString as AmfShapes.IApiNodeShape;\n const { properties } = shape;\n const binding = 'query';\n if (!properties) {\n params.push(this.createParameterFromSchema(shape, binding, source));\n } else {\n properties.forEach((prop) => {\n params.push(this.createParameterFromProperty(prop, binding, source));\n });\n }\n }\n this.schemeName = security.name || scheme.name;\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n createParameterFromSchema(shape: AmfShapes.IShapeUnion, binding: string, source: string): OperationParameter {\n const { id, name } = shape;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: shape,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: false,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: id,\n schema: shape,\n };\n }\n\n createParameterFromProperty(prop: AmfShapes.IApiPropertyShape, binding: string, source: string): OperationParameter {\n const { id, range, name, minCount = 0 } = prop;\n const constructed: ApiDefinitions.IApiParameter = {\n id,\n binding,\n schema: range,\n name,\n examples: [],\n payloads: [],\n types: [AmfNamespace.aml.vocabularies.apiContract.Parameter],\n required: minCount > 0,\n customDomainProperties: [],\n };\n return {\n binding,\n paramId: id,\n parameter: constructed,\n source,\n schemaId: prop.id,\n schema: prop as AmfShapes.IShapeUnion,\n };\n }\n\n /**\n * Updates, if applicable, query parameter value.\n *\n * This does nothing if the query parameter has not been defined for the current\n * scheme.\n *\n * @param name The name of the changed parameter\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateQueryParameter(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'query' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n /**\n * Updates, if applicable, header value.\n * This is supported for RAML custom scheme and Pass Through\n * that operates on headers model which is only an internal model.\n *\n * This does nothing if the header has not been defined for current\n * scheme.\n *\n * @param name The name of the changed header\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateHeader(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'header' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IRamlCustomAuthorization {\n const result: IRamlCustomAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IRamlCustomAuthorization]) {\n result[param.binding as keyof IRamlCustomAuthorization] = {};\n }\n let value = InputCache.get(this, param.paramId, true) as string | boolean;\n if (value === '' || value === undefined) {\n if (param.parameter.required === false) {\n return;\n }\n value = '';\n }\n if (value === false && param.parameter.required === false) {\n return;\n }\n if (value === null) {\n value = '';\n }\n (result[param.binding as keyof IRamlCustomAuthorization] as Record<string, string>)[param.parameter.name || ''] = value as string;\n });\n return result;\n }\n\n override checkValidity(): boolean {\n const { nilValues, parametersValue } = this.amfParameters;\n return !parametersValue.some((param) => {\n if (nilValues.includes(param.paramId)) {\n return false;\n }\n const value = InputCache.get(this, param.paramId, true);\n if (!value && !param.parameter.required) {\n return false;\n }\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form custom-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n headersTemplate(): TemplateResult | typeof nothing {\n const headers = this.amfParameters.parametersValue.filter(item => item.binding === 'header');\n if (!headers.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Headers</span></div>\n ${headers.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n queryTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'query');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Query parameters</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n const { schemeName = 'Pass Through' } = this;\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: ${schemeName}</span>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -9,20 +9,6 @@ export const authorizeHandler = Symbol('authorizeHandler');
|
|
|
9
9
|
* It handles DOM events to perform the authorization.
|
|
10
10
|
*/
|
|
11
11
|
export default class OAuth2AuthorizationElement extends ApiElement {
|
|
12
|
-
/**
|
|
13
|
-
* When set it uses this value to prefix the call to the
|
|
14
|
-
* OAuth 2 token endpoint. This is to support use cases when
|
|
15
|
-
* the requests should be proxied through a server to avoid CORS problems.
|
|
16
|
-
* @attribute
|
|
17
|
-
*/
|
|
18
|
-
tokenProxy;
|
|
19
|
-
/**
|
|
20
|
-
* When set it encodes the token URI value before adding it to the
|
|
21
|
-
* `tokenProxy`. This is to be used when the proxy takes the target
|
|
22
|
-
* URL as a query parameter.
|
|
23
|
-
* @attribute
|
|
24
|
-
*/
|
|
25
|
-
tokenProxyEncode;
|
|
26
12
|
constructor() {
|
|
27
13
|
super();
|
|
28
14
|
this[authorizeHandler] = this[authorizeHandler].bind(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth2Authorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAoC,mBAAmB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AAC9K,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"OAuth2Authorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OAuth2Authorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAoC,mBAAmB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AAC9K,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,UAAU;IAiBhE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,CAAC,gBAAgB,CAAC,CAAC,KAAY;QAC7B,MAAM,CAAC,GAAG,KAAuD,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAA0B,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAA8B;QAC5C,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;SACjC;QACD,IAAI,UAAU,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,SAAS,EAAE;YAC3E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC7C;QACD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAnD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAAqB;AAQpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oEAA4B","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { IOAuth2Authorization, ITokenInfo, OAuth2Authorization, OauthProcessingOptions, EventTypes as CoreEventTypes, ContextEvent } from '@api-client/core/build/browser.js';\nimport { property } from 'lit/decorators.js';\nimport ApiElement from '../ApiElement.js';\n\nexport const authorizeHandler = Symbol('authorizeHandler');\n\n/**\n * An element that utilizes the `OAuth2Authorization` class in a web component.\n * It handles DOM events to perform the authorization.\n */ \nexport default class OAuth2AuthorizationElement extends ApiElement {\n /** \n * When set it uses this value to prefix the call to the \n * OAuth 2 token endpoint. This is to support use cases when \n * the requests should be proxied through a server to avoid CORS problems.\n * @attribute\n */\n @property({ type: String }) tokenProxy?: string;\n\n /**\n * When set it encodes the token URI value before adding it to the \n * `tokenProxy`. This is to be used when the proxy takes the target \n * URL as a query parameter.\n * @attribute\n */\n @property({ type: String }) tokenProxyEncode?: boolean;\n\n constructor() {\n super();\n this[authorizeHandler] = this[authorizeHandler].bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n this.setAttribute('aria-hidden', 'true');\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(CoreEventTypes.Authorization.OAuth2.authorize, this[authorizeHandler]);\n }\n\n [authorizeHandler](event: Event): void {\n const e = event as ContextEvent<IOAuth2Authorization, ITokenInfo>;\n const config = { ...e.detail } as IOAuth2Authorization;\n e.detail.result = this.authorize(config);\n }\n\n /**\n * Authorize the user using provided settings.\n * This is left for compatibility. Use the `OAuth2Authorization` instead.\n *\n * @param settings The authorization configuration.\n */\n async authorize(settings: IOAuth2Authorization): Promise<ITokenInfo> {\n const { tokenProxy, tokenProxyEncode } = this;\n const options: OauthProcessingOptions = {};\n if (tokenProxy && typeof tokenProxy === 'string') {\n options.tokenProxy = tokenProxy;\n }\n if (tokenProxy && tokenProxyEncode && typeof tokenProxyEncode === 'boolean') {\n options.tokenProxyEncode = tokenProxyEncode;\n }\n const auth = new OAuth2Authorization(settings, options);\n auth.checkConfig();\n return auth.authorize();\n }\n}\n"]}
|
|
@@ -5,20 +5,6 @@ import { property } from 'lit/decorators.js';
|
|
|
5
5
|
import ApiElement from '../ApiElement.js';
|
|
6
6
|
export const authorizeHandler = Symbol('authorizeHandler');
|
|
7
7
|
export default class OidcAuthorize extends ApiElement {
|
|
8
|
-
/**
|
|
9
|
-
* When set it uses this value to prefix the call to the
|
|
10
|
-
* OAuth 2 token endpoint. This is to support use cases when
|
|
11
|
-
* the requests should be proxied through a server to avoid CORS problems.
|
|
12
|
-
* @attribute
|
|
13
|
-
*/
|
|
14
|
-
tokenProxy;
|
|
15
|
-
/**
|
|
16
|
-
* When set it encodes the token URI value before adding it to the
|
|
17
|
-
* `tokenProxy`. This is to be used when the proxy takes the target
|
|
18
|
-
* URL as a query parameter.
|
|
19
|
-
* @attribute
|
|
20
|
-
*/
|
|
21
|
-
tokenProxyEncode;
|
|
22
8
|
constructor() {
|
|
23
9
|
super();
|
|
24
10
|
this[authorizeHandler] = this[authorizeHandler].bind(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OidcAuthorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OidcAuthorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAyD,iBAAiB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AACjM,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"OidcAuthorize.js","sourceRoot":"","sources":["../../../src/elements/authorization/OidcAuthorize.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,OAAO,EAAyD,iBAAiB,EAA0B,UAAU,IAAI,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AACjM,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IAiBnD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,CAAC,gBAAgB,CAAC,CAAC,KAAY;QAC7B,MAAM,CAAC,GAAG,KAA+E,CAAC;QAC1F,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAA0B,CAAC;QACvD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAA8B;QAC5C,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAChD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;SACjC;QACD,IAAI,UAAU,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,SAAS,EAAE;YAC3E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC7C;QACD,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,2DAA2D;QAC3D,OAAQ,IAAI,CAAC,SAAS,EAAoD,CAAC;IAC7E,CAAC;CACF;AApD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAqB;AAQpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDAA4B","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport { IOidcTokenError, IOidcTokenInfo, IOAuth2Authorization, OidcAuthorization, OauthProcessingOptions, EventTypes as CoreEventTypes, ContextEvent } from '@api-client/core/build/browser.js';\nimport { property } from 'lit/decorators.js';\nimport ApiElement from '../ApiElement.js';\n\nexport const authorizeHandler = Symbol('authorizeHandler');\n\nexport default class OidcAuthorize extends ApiElement {\n /** \n * When set it uses this value to prefix the call to the \n * OAuth 2 token endpoint. This is to support use cases when \n * the requests should be proxied through a server to avoid CORS problems.\n * @attribute\n */\n @property({ type: String }) tokenProxy?: string;\n\n /**\n * When set it encodes the token URI value before adding it to the \n * `tokenProxy`. This is to be used when the proxy takes the target \n * URL as a query parameter.\n * @attribute\n */\n @property({ type: String }) tokenProxyEncode?: boolean;\n\n constructor() {\n super();\n this[authorizeHandler] = this[authorizeHandler].bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(CoreEventTypes.Authorization.Oidc.authorize, this[authorizeHandler]);\n this.setAttribute('aria-hidden', 'true');\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(CoreEventTypes.Authorization.Oidc.authorize, this[authorizeHandler]);\n }\n\n [authorizeHandler](event: Event): void {\n const e = event as ContextEvent<IOAuth2Authorization, (IOidcTokenInfo|IOidcTokenError)[]>;\n const config = { ...e.detail } as IOAuth2Authorization;\n e.detail.result = this.authorize(config);\n }\n\n /**\n * Authorize the user using provided settings.\n * This is left for compatibility. Use the `OAuth2Authorization` instead.\n *\n * @param settings The authorization configuration.\n */\n async authorize(settings: IOAuth2Authorization): Promise<(IOidcTokenInfo|IOidcTokenError)[]> {\n const { tokenProxy, tokenProxyEncode } = this;\n const options: OauthProcessingOptions = {};\n if (tokenProxy && typeof tokenProxy === 'string') {\n options.tokenProxy = tokenProxy;\n }\n if (tokenProxy && tokenProxyEncode && typeof tokenProxyEncode === 'boolean') {\n options.tokenProxyEncode = tokenProxyEncode;\n }\n const auth = new OidcAuthorization(settings, options);\n auth.checkConfig();\n // FIXME: Fix the typings in the `OidcAuthorization` class.\n return (auth.authorize() as unknown) as (IOidcTokenInfo|IOidcTokenError)[];\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeyAuthorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/ApiKeyAuthorization.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+BAA+B,CAAC;AACvC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wCAAwC,CAAC;AAChD,OAAO,+BAA+B,CAAC;AAEvC,MAAM,SAAS,GAA+C;IAC5D,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"ApiKeyAuthorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/ApiKeyAuthorization.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+BAA+B,CAAC;AACvC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wCAAwC,CAAC;AAChD,OAAO,+BAA+B,CAAC;AAEvC,MAAM,SAAS,GAA+C;IAC5D,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,aAAa;IAK5D,IAAI,WAAW;QACb,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAA8B,IAAI,EAA0B,CAAC;QAC1F,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,aAAa;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,IAAc,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9E,CAAC;IAES,YAAY;QACpB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,aAAa,CAAC,MAAM,GAAG,EAA0B,CAAC;SACnD;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,aAAa,CAAC,MAAM,GAAG;YACrB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAClB,CAAC,OAAO,CAAC,EAAE,KAAK;aACjB;SACsB,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,oBAAoB,CAAC,CAAc;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAA+B,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAA8B,IAAI,EAA0B,CAAC;QAC1F,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAmC,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,aAAa,CAAC,MAAM,GAAG;YACrB,CAAC,QAAQ,CAAC,EAAE,YAAY,IAAI,EAAE;SAC/B,CAAA;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;MACT,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,YAAY,EAAE;KACpB,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,OAAO,CAAC;SAChB;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAA8B,IAAI,EAA0B,CAAC;QAC1F,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE;;MAEvB,IAAI,CAAC,cAAc,EAAE;KACtB,CAAC;IACJ,CAAC;IAES,aAAa,CAAC,MAA4B;QAClD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAyB,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE;YACP,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,IAAI,CAAA;;;;;kBAKG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;;;qBAGd,IAAI,CAAC,QAAQ;qBACb,IAAI,CAAC,QAAQ;mBACf,IAAI,CAAC,YAAY;;;KAG/B,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,MAA4B;QACnD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAyB,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE;YACP,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE;gBACP,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;aAClB;SACF;QACD,OAAO,IAAI,CAAA;;;;;;kBAMG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;;;qBAGd,IAAI,CAAC,QAAQ;qBACb,IAAI,CAAC,QAAQ;mBACf,IAAI,CAAC,YAAY;;;KAG/B,CAAC;IACJ,CAAC;IAES,cAAc;QACtB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,IAAI,CAAA;;;iBAGE,IAAI,CAAC,oBAAoB;;;;;;;kBAOxB,KAAK;;;;;;qGAM8E,SAAS,CAAC,KAAK;sGACd,SAAS,CAAC,MAAM;uGACf,SAAS,CAAC,MAAM;;;KAGlH,CAAC;IACJ,CAAC;CACF;AApKwB;IAAtB,KAAK,CAAC,cAAc,CAAC;qDAAkB;AAEf;IAAxB,KAAK,CAAC,gBAAgB,CAAC;uDAAoB","sourcesContent":["import { html, nothing, TemplateResult } from \"lit\";\nimport { IApiKeyAuthorization } from \"@api-client/core/build/browser.js\";\nimport { query } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { Authorization } from \"./Authorization.js\";\nimport Input from \"../../../ui/input/Input.js\";\nimport '../../../define/ui/ui-text-field.js';\nimport '../../../define/ui/ui-list.js';\nimport '../../../define/ui/ui-list-item.js';\nimport '../../../define/ui/ui-dropdown-list.js';\nimport '../../../define/ui/ui-icon.js';\n\nconst LabelsMap: Record<keyof IApiKeyAuthorization, string> = {\n cookie: 'Cookies',\n header: 'Headers',\n query: 'Query string',\n path: 'URL path'\n}\n\nexport default class ApiKeyAuthorization extends Authorization {\n @query('[name=\"key\"]') keyInput!: Input;\n\n @query('[name=\"value\"]') valueInput!: Input;\n\n get keyLocation(): keyof IApiKeyAuthorization {\n const { authorization } = this;\n if (!authorization) {\n return 'query';\n }\n const config = authorization.config as IApiKeyAuthorization || {} as IApiKeyAuthorization;\n if (config.cookie) {\n return 'cookie';\n }\n if (config.header) {\n return 'header';\n }\n return 'query';\n }\n\n override checkValidity(): boolean {\n const { elements } = this.form;\n return !Array.from(elements).some(node => !(node as Input).checkValidity());\n }\n\n protected handleChange(): void {\n const { authorization } = this;\n if (!authorization) {\n return;\n }\n if (!authorization.config) {\n authorization.config = {} as IApiKeyAuthorization;\n }\n const { value: keyName } = this.keyInput;\n const { value } = this.valueInput;\n if (!keyName) {\n return;\n }\n authorization.config = {\n [this.keyLocation]: {\n [keyName]: value,\n }\n } as IApiKeyAuthorization;\n this.notifyChange();\n }\n\n protected handleLocationChange(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined;\n if (!target) {\n return;\n }\n const { authorization } = this;\n if (!authorization) {\n return;\n }\n const config = authorization.config as IApiKeyAuthorization || {} as IApiKeyAuthorization;\n const selected = target.dataset.value as keyof IApiKeyAuthorization;\n const currentKey = this.keyLocation;\n const currentValue = config[currentKey];\n authorization.config = {\n [selected]: currentValue || {},\n }\n this.notifyChange();\n this.requestUpdate();\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n const { authorization } = this;\n if (!authorization) {\n return nothing;\n }\n const config = authorization.config as IApiKeyAuthorization || {} as IApiKeyAuthorization;\n return html`\n <form autocomplete=\"on\" class=\"auth-form basic-auth\">\n ${this.renderKeyName(config)}\n ${this.renderKeyValue(config)}\n ${this.renderLocation()}\n </form>\n ${this.renderAuthInfo()}\n `;\n }\n\n protected renderKeyName(config: IApiKeyAuthorization): TemplateResult {\n const { keyLocation } = this;\n let value: string | undefined;\n const map = config[keyLocation];\n if (map) {\n [value] = Object.keys(map);\n }\n return html`\n <div class=\"full-input\">\n <ui-text-field\n label=\"Key name\"\n name=\"key\"\n .value=\"${live(value || '')}\"\n required\n invalidText=\"The key name is required\"\n ?disabled=\"${this.disabled}\"\n ?readOnly=\"${this.readOnly}\"\n @change=\"${this.handleChange}\"\n ></ui-text-field>\n </div>\n `;\n }\n\n protected renderKeyValue(config: IApiKeyAuthorization): TemplateResult {\n const { keyLocation } = this;\n let value: string | undefined;\n const map = config[keyLocation];\n if (map) {\n const key = Object.keys(map)[0];\n if (key) {\n value = map[key];\n }\n }\n return html`\n <div class=\"full-input\">\n <ui-text-field\n label=\"Value\"\n name=\"value\"\n type=\"password\"\n .value=\"${live(value || '')}\"\n required\n invalidText=\"The key is required\"\n ?disabled=\"${this.disabled}\"\n ?readOnly=\"${this.readOnly}\"\n @change=\"${this.handleChange}\"\n ></ui-text-field>\n </div>\n `;\n }\n\n protected renderLocation(): TemplateResult {\n const { keyLocation } = this;\n const label = LabelsMap[keyLocation];\n return html`\n <ui-dropdown-list\n verticalAlign=\"top\"\n @select=\"${this.handleLocationChange}\"\n class=\"type-dropdown\"\n closeOnOutsideClick\n >\n <ui-text-field \n readOnly \n name=\"location\"\n .value=\"${label}\"\n label=\"Key location\"\n >\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\" role=\"presentation\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item role=\"menuitem\" data-value=\"query\" title=\"Place the key in the query string\">${LabelsMap.query}</ui-list-item>\n <ui-list-item role=\"menuitem\" data-value=\"header\" title=\"Place the key in the header value\">${LabelsMap.header}</ui-list-item>\n <ui-list-item role=\"menuitem\" data-value=\"cookie\" title=\"Place the key in the cookies value\">${LabelsMap.cookie}</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n}\n"]}
|
|
@@ -14,38 +14,24 @@ import '../../../define/ui/ui-icon.js';
|
|
|
14
14
|
* @fires change - When authorization values have changed via a user interaction.
|
|
15
15
|
*/
|
|
16
16
|
export class Authorization extends ApiElement {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
readOnly = false;
|
|
36
|
-
/**
|
|
37
|
-
* Whether the element is currently authorizing the user.
|
|
38
|
-
* @attribute
|
|
39
|
-
*/
|
|
40
|
-
authorizing = false;
|
|
41
|
-
/**
|
|
42
|
-
* Whether the UI should render the toggle button to toggle the enabled state of the security scheme
|
|
43
|
-
*/
|
|
44
|
-
canToggle;
|
|
45
|
-
/**
|
|
46
|
-
* Whether the UI should render the delete button
|
|
47
|
-
*/
|
|
48
|
-
canDelete;
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
/**
|
|
20
|
+
* Whether the UI is in the disabled state.
|
|
21
|
+
* @attribute
|
|
22
|
+
*/
|
|
23
|
+
this.disabled = false;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the UI is in the read only state.
|
|
26
|
+
* @attribute
|
|
27
|
+
*/
|
|
28
|
+
this.readOnly = false;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the element is currently authorizing the user.
|
|
31
|
+
* @attribute
|
|
32
|
+
*/
|
|
33
|
+
this.authorizing = false;
|
|
34
|
+
}
|
|
49
35
|
/**
|
|
50
36
|
* Toggles this authorization method enabled state.
|
|
51
37
|
* This does noting when `authorization` is not set.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/Authorization.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/Authorization.ts"],"names":[],"mappings":"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","sourcesContent":["import { IRequestAuthorization } from \"@api-client/core/build/browser.js\";\nimport { html, nothing, TemplateResult } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport ApiElement from \"../../ApiElement.js\";\nimport { authTypeToLabel } from \"../AuthLabels.js\";\nimport Input from \"../../../ui/input/Input.js\";\nimport '../../../define/ui/ui-icon-button.js';\nimport '../../../define/ui/ui-switch.js';\nimport '../../../define/ui/ui-icon.js';\n\n/**\n * An authorization element renders an UI allowing the user to provide client credentials.\n * \n * @fires delete - When the user requests to delete this authorization.\n * @fires change - When authorization values have changed via a user interaction.\n */\nexport class Authorization extends ApiElement {\n /**\n * The form element in the UI.\n */\n @query('form', true) protected form!: HTMLFormElement;\n\n /**\n * The request authorization object keeping the config.\n * @attribute\n */\n @property({ type: Object }) authorization?: IRequestAuthorization;\n\n /**\n * Whether the UI is in the disabled state.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Whether the UI is in the read only state.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) readOnly = false;\n\n /**\n * Whether the element is currently authorizing the user.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) authorizing = false;\n\n /**\n * Whether the UI should render the toggle button to toggle the enabled state of the security scheme\n */\n @property({ type: Boolean }) canToggle?: boolean;\n\n /**\n * Whether the UI should render the delete button\n */\n @property({ type: Boolean }) canDelete?: boolean;\n\n /**\n * Toggles this authorization method enabled state.\n * This does noting when `authorization` is not set.\n */\n toggleEnabled(): void {\n const { authorization } = this;\n if (!authorization) {\n return;\n }\n authorization.enabled = !authorization.enabled;\n this.requestUpdate();\n this.notifyChange();\n }\n\n notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n protected handleDelete(): void {\n this.dispatchEvent(new Event('delete'))\n }\n\n /**\n * Performs the authorization.\n * This only applies to methods that have any authorization to perform\n * like Oauth 2.\n */\n async authorize(): Promise<unknown> {\n return null;\n }\n\n /**\n * @returns True when the element is valid.\n */\n checkValidity(): boolean {\n const { elements } = this.form;\n return !Array.from(elements).some(node => !(node as Input).checkValidity());\n }\n\n protected renderHeader(): TemplateResult | typeof nothing {\n const { authorization } = this;\n if (!authorization) {\n return nothing;\n }\n const classes = {\n 'auth-header': true,\n centered: !this.canDelete && !this.canToggle,\n };\n return html`\n <div class=\"${classMap(classes)}\">\n ${this.renderToggleSwitch(authorization)}\n ${this.renderTitle(authorization)}\n ${this.renderDeleteButton()}\n </div>\n `;\n }\n\n protected renderAuthInfo(): TemplateResult {\n return html`\n <p class=\"auth-info\">Note that the authorization header will be added when the request is sent. We encourage you to use variables to insert sensitive data.</p>\n `;\n }\n\n protected renderToggleSwitch(authorization: IRequestAuthorization): TemplateResult | typeof nothing {\n const { canToggle } = this;\n if (!canToggle) {\n return nothing;\n }\n return html`\n <ui-switch \n .checked=\"${!!authorization.enabled}\" \n @change=\"${this.toggleEnabled}\" \n aria-label=\"Toggle this authorization\"\n ?disabled=\"${this.readOnly || this.disabled}\"\n ></ui-switch>\n `;\n }\n\n protected renderTitle(authorization: IRequestAuthorization): TemplateResult {\n const { type } = authorization;\n const label = authTypeToLabel(type || '');\n return html`\n <span class=\"auth-title\">${label}</span>\n `;\n }\n\n protected renderDeleteButton(): TemplateResult | typeof nothing {\n const { canDelete } = this;\n if (!canDelete) {\n return nothing;\n }\n return html`\n <ui-icon-button \n aria-label=\"Delete this authorization\"\n title=\"Removes this authorization definition\" \n @click=\"${this.handleDelete}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `;\n }\n}\n"]}
|
|
@@ -9,11 +9,9 @@ import '../../../define/ui/ui-radio.js';
|
|
|
9
9
|
import { Events } from "../../../events/Events.js";
|
|
10
10
|
import { EventTypes } from "../../../events/EventTypes.js";
|
|
11
11
|
export default class CcAuthorization extends Authorization {
|
|
12
|
-
items;
|
|
13
|
-
querying = false;
|
|
14
|
-
loadingError;
|
|
15
12
|
constructor() {
|
|
16
13
|
super();
|
|
14
|
+
this.querying = false;
|
|
17
15
|
this.handlerCertificateUpdated = this.handlerCertificateUpdated.bind(this);
|
|
18
16
|
this.handleCertificateDeleted = this.handleCertificateDeleted.bind(this);
|
|
19
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CcAuthorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CcAuthorization.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, TemplateResult } from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n ICCAuthorization, HttpCertificate, Events as CoreEvents, ContextStateUpdateEvent,\n ContextStateDeleteEvent,\n ICertificate,\n} from '@api-client/core/build/browser.js';\nimport '@github/relative-time-element';\nimport { Authorization } from \"./Authorization.js\";\nimport '../../../define/ui/ui-button.js';\nimport '../../../define/ui/ui-radio.js';\nimport { Events } from \"../../../events/Events.js\";\nimport { EventTypes } from \"../../../events/EventTypes.js\";\nimport RadioElement from \"../../../ui/input/RadioElement.js\";\n\nexport default class CcAuthorization extends Authorization {\n @state() items?: ICertificate[];\n\n @state() querying = false;\n\n @state() loadingError?: string;\n\n constructor() {\n super();\n\n this.handlerCertificateUpdated = this.handlerCertificateUpdated.bind(this);\n this.handleCertificateDeleted = this.handleCertificateDeleted.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(EventTypes.HttpClient.Model.Certificate.State.update, this.handlerCertificateUpdated);\n this.eventsTarget.addEventListener(EventTypes.HttpClient.Model.Certificate.State.delete, this.handleCertificateDeleted);\n this.queryCertificates();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(EventTypes.HttpClient.Model.Certificate.State.update, this.handlerCertificateUpdated);\n this.eventsTarget.removeEventListener(EventTypes.HttpClient.Model.Certificate.State.delete, this.handleCertificateDeleted);\n }\n\n protected handlerCertificateUpdated(input: Event): void {\n const e = input as ContextStateUpdateEvent<ICertificate>;\n const cert = e.detail.item;\n if (!cert) {\n return;\n }\n if (!this.items) {\n this.items = [];\n }\n const index = this.items.findIndex(i => i.key === cert.key);\n if (index >= 0) {\n this.items[index] = cert;\n } else {\n this.items.push(cert);\n }\n this.requestUpdate();\n }\n\n protected handleCertificateDeleted(input: Event): void {\n if (!this.items) {\n return;\n }\n const e = input as ContextStateDeleteEvent;\n const { key } = e.detail;\n const index = this.items.findIndex(i => i.key === key);\n if (index >= 0) {\n this.items.splice(index, 1);\n this.requestUpdate();\n }\n }\n\n protected async queryCertificates(): Promise<void> {\n if (this.querying) {\n return;\n }\n this.querying = true;\n try {\n const data = await Events.HttpClient.Model.Certificate.list({ limit: 100, space: \"\" }); // the space should be filled by the bindings / hosting app\n if (!data) {\n this.items = undefined;\n throw new Error(`Certificates query not handled by the store.`);\n return;\n }\n this.items = data.items;\n } catch (cause) {\n this.loadingError = (cause as Error).message;\n } finally {\n this.querying = false;\n }\n }\n\n protected handleSelected(e: Event): void {\n const { authorization } = this;\n if (!authorization) {\n return;\n }\n\n const radio = e.target as RadioElement;\n const { checked, value } = radio;\n if (!checked) {\n return;\n }\n const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;\n if (value === '') {\n delete config.certificate;\n } else {\n const cert = this.items?.find(i => i.key === value);\n if (!cert) {\n return;\n }\n config.certificate = cert;\n }\n this.notifyChange();\n\n CoreEvents.Telemetry.event({\n category: 'Certificates',\n action: 'Authorization',\n label: 'selected-certificate'\n }, this);\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n const { authorization, loadingError, items } = this;\n if (!authorization) {\n return nothing;\n }\n const hasItems = !!items && !!items.length;\n if (!loadingError && !hasItems) {\n return html`\n ${this.renderEmptyState()}\n `;\n }\n const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;\n return html`\n ${loadingError ? this.renderErrorState(loadingError) : ''}\n ${hasItems ? html`\n <form autocomplete=\"on\" class=\"auth-form basic-auth\">\n ${this.renderList(items, config.certificate)}\n </form>\n ` : ''}\n `;\n }\n\n protected renderErrorState(error: string): TemplateResult {\n return html`<p class=\"error-message\">Unable to load certificates: ${error}.</p>`;\n }\n\n protected renderEmptyState(): TemplateResult {\n return html`<p class=\"empty-screen body-large\">There are no certificates installed in this application.</p>`;\n }\n\n protected renderList(items: HttpCertificate[], current?: ICertificate): TemplateResult {\n const currentKey = current && current.key;\n return html`\n ${this.renderNoneItem(currentKey)}\n ${items.map((item) => this.renderCertItem(item, currentKey))}\n `;\n }\n\n protected renderNoneItem(selectedKey?: string): TemplateResult {\n return html`\n <label class=\"label-medium\">\n <ui-radio name=\"certificate\" value=\"\" .checked=\"${!selectedKey}\" @change=\"${this.handleSelected}\"></ui-radio>\n None\n </label>\n `;\n }\n\n /**\n * @param item The item to render\n * @returns The template for the dropdown item.\n */\n protected renderCertItem(item: HttpCertificate, selectedKey?: string): TemplateResult {\n return html`\n <div class=\"cert-item\">\n <label>\n <ui-radio name=\"certificate\" value=\"${item.key}\" .checked=\"${item.key === selectedKey}\" @change=\"${this.handleSelected}\"></ui-radio>\n <div class=\"cert-meta\">\n <span class=\"label-medium\">${item.name}</span>\n <span class=\"body-small\">Added: ${this.renderDateTime(item.created)}</span>\n </div>\n </label>\n </div>\n `;\n }\n\n /**\n * @param created The certificate created time.\n * @returns The template for the cert time element.\n */\n protected renderDateTime(created?: number): TemplateResult {\n if (!created) {\n return html`<span>Unknown</span>`;\n }\n const d = new Date(created);\n return html`\n <relative-time datetime=\"${d.toISOString()}\"></relative-time>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CcAuthorization.js","sourceRoot":"","sources":["../../../../src/elements/authorization/ui/CcAuthorization.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, TemplateResult } from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n ICCAuthorization, HttpCertificate, Events as CoreEvents, ContextStateUpdateEvent,\n ContextStateDeleteEvent,\n ICertificate,\n} from '@api-client/core/build/browser.js';\nimport '@github/relative-time-element';\nimport { Authorization } from \"./Authorization.js\";\nimport '../../../define/ui/ui-button.js';\nimport '../../../define/ui/ui-radio.js';\nimport { Events } from \"../../../events/Events.js\";\nimport { EventTypes } from \"../../../events/EventTypes.js\";\nimport RadioElement from \"../../../ui/input/RadioElement.js\";\n\nexport default class CcAuthorization extends Authorization {\n @state() items?: ICertificate[];\n\n @state() querying = false;\n\n @state() loadingError?: string;\n\n constructor() {\n super();\n\n this.handlerCertificateUpdated = this.handlerCertificateUpdated.bind(this);\n this.handleCertificateDeleted = this.handleCertificateDeleted.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.eventsTarget.addEventListener(EventTypes.HttpClient.Model.Certificate.State.update, this.handlerCertificateUpdated);\n this.eventsTarget.addEventListener(EventTypes.HttpClient.Model.Certificate.State.delete, this.handleCertificateDeleted);\n this.queryCertificates();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.eventsTarget.removeEventListener(EventTypes.HttpClient.Model.Certificate.State.update, this.handlerCertificateUpdated);\n this.eventsTarget.removeEventListener(EventTypes.HttpClient.Model.Certificate.State.delete, this.handleCertificateDeleted);\n }\n\n protected handlerCertificateUpdated(input: Event): void {\n const e = input as ContextStateUpdateEvent<ICertificate>;\n const cert = e.detail.item;\n if (!cert) {\n return;\n }\n if (!this.items) {\n this.items = [];\n }\n const index = this.items.findIndex(i => i.key === cert.key);\n if (index >= 0) {\n this.items[index] = cert;\n } else {\n this.items.push(cert);\n }\n this.requestUpdate();\n }\n\n protected handleCertificateDeleted(input: Event): void {\n if (!this.items) {\n return;\n }\n const e = input as ContextStateDeleteEvent;\n const { key } = e.detail;\n const index = this.items.findIndex(i => i.key === key);\n if (index >= 0) {\n this.items.splice(index, 1);\n this.requestUpdate();\n }\n }\n\n protected async queryCertificates(): Promise<void> {\n if (this.querying) {\n return;\n }\n this.querying = true;\n try {\n const data = await Events.HttpClient.Model.Certificate.list({ limit: 100, space: \"\" }); // the space should be filled by the bindings / hosting app\n if (!data) {\n this.items = undefined;\n throw new Error(`Certificates query not handled by the store.`);\n return;\n }\n this.items = data.items;\n } catch (cause) {\n this.loadingError = (cause as Error).message;\n } finally {\n this.querying = false;\n }\n }\n\n protected handleSelected(e: Event): void {\n const { authorization } = this;\n if (!authorization) {\n return;\n }\n\n const radio = e.target as RadioElement;\n const { checked, value } = radio;\n if (!checked) {\n return;\n }\n const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;\n if (value === '') {\n delete config.certificate;\n } else {\n const cert = this.items?.find(i => i.key === value);\n if (!cert) {\n return;\n }\n config.certificate = cert;\n }\n this.notifyChange();\n\n CoreEvents.Telemetry.event({\n category: 'Certificates',\n action: 'Authorization',\n label: 'selected-certificate'\n }, this);\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n const { authorization, loadingError, items } = this;\n if (!authorization) {\n return nothing;\n }\n const hasItems = !!items && !!items.length;\n if (!loadingError && !hasItems) {\n return html`\n ${this.renderEmptyState()}\n `;\n }\n const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;\n return html`\n ${loadingError ? this.renderErrorState(loadingError) : ''}\n ${hasItems ? html`\n <form autocomplete=\"on\" class=\"auth-form basic-auth\">\n ${this.renderList(items, config.certificate)}\n </form>\n ` : ''}\n `;\n }\n\n protected renderErrorState(error: string): TemplateResult {\n return html`<p class=\"error-message\">Unable to load certificates: ${error}.</p>`;\n }\n\n protected renderEmptyState(): TemplateResult {\n return html`<p class=\"empty-screen body-large\">There are no certificates installed in this application.</p>`;\n }\n\n protected renderList(items: HttpCertificate[], current?: ICertificate): TemplateResult {\n const currentKey = current && current.key;\n return html`\n ${this.renderNoneItem(currentKey)}\n ${items.map((item) => this.renderCertItem(item, currentKey))}\n `;\n }\n\n protected renderNoneItem(selectedKey?: string): TemplateResult {\n return html`\n <label class=\"label-medium\">\n <ui-radio name=\"certificate\" value=\"\" .checked=\"${!selectedKey}\" @change=\"${this.handleSelected}\"></ui-radio>\n None\n </label>\n `;\n }\n\n /**\n * @param item The item to render\n * @returns The template for the dropdown item.\n */\n protected renderCertItem(item: HttpCertificate, selectedKey?: string): TemplateResult {\n return html`\n <div class=\"cert-item\">\n <label>\n <ui-radio name=\"certificate\" value=\"${item.key}\" .checked=\"${item.key === selectedKey}\" @change=\"${this.handleSelected}\"></ui-radio>\n <div class=\"cert-meta\">\n <span class=\"label-medium\">${item.name}</span>\n <span class=\"body-small\">Added: ${this.renderDateTime(item.created)}</span>\n </div>\n </label>\n </div>\n `;\n }\n\n /**\n * @param created The certificate created time.\n * @returns The template for the cert time element.\n */\n protected renderDateTime(created?: number): TemplateResult {\n if (!created) {\n return html`<span>Unknown</span>`;\n }\n const d = new Date(created);\n return html`\n <relative-time datetime=\"${d.toISOString()}\"></relative-time>\n `;\n }\n}\n"]}
|
|
@@ -53,6 +53,27 @@ const LocationLabels = {
|
|
|
53
53
|
query: 'Query string'
|
|
54
54
|
};
|
|
55
55
|
export default class OAuth2Authorization extends Authorization {
|
|
56
|
+
constructor() {
|
|
57
|
+
super(...arguments);
|
|
58
|
+
/**
|
|
59
|
+
* Currently available grant types.
|
|
60
|
+
*/
|
|
61
|
+
this.grantTypes = oauth2GrantTypes;
|
|
62
|
+
this.credentialsDisabled = this.disabled;
|
|
63
|
+
/**
|
|
64
|
+
* When this property is set then the PKCE option is not rendered for the
|
|
65
|
+
* `authorization_code`. This is mainly meant to be used by the `api-authorization-method`
|
|
66
|
+
* to keep this control disabled and override generated settings when the API spec
|
|
67
|
+
* says that the PKCE is supported.
|
|
68
|
+
* @attribute
|
|
69
|
+
*/
|
|
70
|
+
this.noPkce = false;
|
|
71
|
+
/**
|
|
72
|
+
* If set, the response type selector is hidden from the UI.
|
|
73
|
+
* @attribute
|
|
74
|
+
*/
|
|
75
|
+
this.noGrantType = false;
|
|
76
|
+
}
|
|
56
77
|
get config() {
|
|
57
78
|
const { authorization } = this;
|
|
58
79
|
if (!authorization) {
|
|
@@ -179,56 +200,6 @@ export default class OAuth2Authorization extends Authorization {
|
|
|
179
200
|
}
|
|
180
201
|
return [KnownGrants.implicit, KnownGrants.code].includes(grantType);
|
|
181
202
|
}
|
|
182
|
-
/**
|
|
183
|
-
* Currently available grant types.
|
|
184
|
-
*/
|
|
185
|
-
grantTypes = oauth2GrantTypes;
|
|
186
|
-
/**
|
|
187
|
-
* The definition of client credentials to be rendered for a given grant type.
|
|
188
|
-
* When set on the editor it renders a drop down where the user can choose from predefined
|
|
189
|
-
* credentials (client id & secret).
|
|
190
|
-
*
|
|
191
|
-
*/
|
|
192
|
-
credentialsSource;
|
|
193
|
-
/**
|
|
194
|
-
* Selected credential source
|
|
195
|
-
*/
|
|
196
|
-
credentialSource;
|
|
197
|
-
/**
|
|
198
|
-
* The default redirect URI to use if not define din the config.
|
|
199
|
-
* @attribute
|
|
200
|
-
*/
|
|
201
|
-
defaultRedirectUri;
|
|
202
|
-
credentialsDisabled = this.disabled;
|
|
203
|
-
/**
|
|
204
|
-
* The base URI to use to construct the correct URLs to the authorization endpoints.
|
|
205
|
-
*
|
|
206
|
-
* When the paths are relative then base URI is added to the path.
|
|
207
|
-
* Relative paths must start with '/'.
|
|
208
|
-
*
|
|
209
|
-
* Note, URL processing is happening internally in the component. The produced authorize event
|
|
210
|
-
* will have base URI already applied.
|
|
211
|
-
*/
|
|
212
|
-
baseUri;
|
|
213
|
-
/**
|
|
214
|
-
* The error message returned by the authorization library.
|
|
215
|
-
* It renders error dialog when an error ocurred.
|
|
216
|
-
* It is automatically cleared when the user request the token again.
|
|
217
|
-
*/
|
|
218
|
-
lastErrorMessage;
|
|
219
|
-
/**
|
|
220
|
-
* When this property is set then the PKCE option is not rendered for the
|
|
221
|
-
* `authorization_code`. This is mainly meant to be used by the `api-authorization-method`
|
|
222
|
-
* to keep this control disabled and override generated settings when the API spec
|
|
223
|
-
* says that the PKCE is supported.
|
|
224
|
-
* @attribute
|
|
225
|
-
*/
|
|
226
|
-
noPkce = false;
|
|
227
|
-
/**
|
|
228
|
-
* If set, the response type selector is hidden from the UI.
|
|
229
|
-
* @attribute
|
|
230
|
-
*/
|
|
231
|
-
noGrantType = false;
|
|
232
203
|
/**
|
|
233
204
|
* @returns The list of client credentials to render in the credentials selector.
|
|
234
205
|
*/
|