@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.
Files changed (514) hide show
  1. package/dist/amf/lib/AmfParameters.js +0 -4
  2. package/dist/amf/lib/AmfParameters.js.map +1 -1
  3. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  4. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  5. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  6. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  7. package/dist/amf/store/AmfGraphStore.js +0 -2
  8. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  9. package/dist/amf/store/AmfStore.js +0 -7
  10. package/dist/amf/store/AmfStore.js.map +1 -1
  11. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  12. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  13. package/dist/bindings/base/PlatformBindings.js +6 -10
  14. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  15. package/dist/bindings/base/ProxyBindings.js +9 -6
  16. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  17. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  18. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  19. package/dist/bindings/base/StoreBindings.js +162 -170
  20. package/dist/bindings/base/StoreBindings.js.map +1 -1
  21. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  22. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  23. package/dist/bindings/web/WebFileBindings.js +7 -4
  24. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  25. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  26. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  27. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  28. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  29. package/dist/bindings/web/WebProxyBindings.js +5 -6
  30. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  31. package/dist/bindings/web/WebStoreBindings.js +39 -44
  32. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  33. package/dist/contextual-menu/ContextualMenu.js +10 -19
  34. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  35. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  36. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  37. package/dist/contextual-menu/MenuItem.js +0 -12
  38. package/dist/contextual-menu/MenuItem.js.map +1 -1
  39. package/dist/define/amf/api-annotation-document.js +1 -1
  40. package/dist/define/amf/api-annotation-document.js.map +1 -1
  41. package/dist/define/amf/api-authorization-editor.js +1 -1
  42. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  43. package/dist/define/amf/api-channel-document.js +1 -1
  44. package/dist/define/amf/api-channel-document.js.map +1 -1
  45. package/dist/define/amf/api-documentation-document.js +1 -1
  46. package/dist/define/amf/api-documentation-document.js.map +1 -1
  47. package/dist/define/amf/api-documentation.js +1 -1
  48. package/dist/define/amf/api-documentation.js.map +1 -1
  49. package/dist/define/amf/api-navigation.js +1 -1
  50. package/dist/define/amf/api-navigation.js.map +1 -1
  51. package/dist/define/amf/api-operation-document.js +1 -1
  52. package/dist/define/amf/api-operation-document.js.map +1 -1
  53. package/dist/define/amf/api-parameter-document.js +1 -1
  54. package/dist/define/amf/api-parameter-document.js.map +1 -1
  55. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  56. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  57. package/dist/define/amf/api-payload-document.js +1 -1
  58. package/dist/define/amf/api-payload-document.js.map +1 -1
  59. package/dist/define/amf/api-request-document.js +1 -1
  60. package/dist/define/amf/api-request-document.js.map +1 -1
  61. package/dist/define/amf/api-request-editor.js +1 -1
  62. package/dist/define/amf/api-request-editor.js.map +1 -1
  63. package/dist/define/amf/api-request.js +1 -1
  64. package/dist/define/amf/api-request.js.map +1 -1
  65. package/dist/define/amf/api-resource-document.js +1 -1
  66. package/dist/define/amf/api-resource-document.js.map +1 -1
  67. package/dist/define/amf/api-response-document.js +1 -1
  68. package/dist/define/amf/api-response-document.js.map +1 -1
  69. package/dist/define/amf/api-schema-document.js +1 -1
  70. package/dist/define/amf/api-schema-document.js.map +1 -1
  71. package/dist/define/amf/api-security-document.js +1 -1
  72. package/dist/define/amf/api-security-document.js.map +1 -1
  73. package/dist/define/amf/api-security-requirement-document.js +1 -1
  74. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  75. package/dist/define/amf/api-server-picker.js +1 -1
  76. package/dist/define/amf/api-server-picker.js.map +1 -1
  77. package/dist/define/amf/api-summary.js +1 -1
  78. package/dist/define/amf/api-summary.js.map +1 -1
  79. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  80. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  81. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  82. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  83. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  84. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  85. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  86. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  87. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  88. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  89. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  90. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  91. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  92. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  93. package/dist/define/authorization/apikey-authorization.js +1 -1
  94. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  95. package/dist/define/authorization/basic-authorization.js +1 -1
  96. package/dist/define/authorization/basic-authorization.js.map +1 -1
  97. package/dist/define/authorization/bearer-authorization.js +1 -1
  98. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  99. package/dist/define/authorization/cc-authorization.js +1 -1
  100. package/dist/define/authorization/cc-authorization.js.map +1 -1
  101. package/dist/define/authorization/ntlm-authorization.js +1 -1
  102. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  103. package/dist/define/authorization/oauth2-authorization.js +1 -1
  104. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  105. package/dist/define/authorization/oidc-authorization.js +1 -1
  106. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  107. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  108. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  109. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  110. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  111. package/dist/define/dialog/rename-dialog.js +1 -1
  112. package/dist/define/dialog/rename-dialog.js.map +1 -1
  113. package/dist/define/files/share-file.js +1 -1
  114. package/dist/define/files/share-file.js.map +1 -1
  115. package/dist/define/har/har-viewer.js +1 -1
  116. package/dist/define/har/har-viewer.js.map +1 -1
  117. package/dist/define/highlight/marked-highlight.js +1 -1
  118. package/dist/define/highlight/marked-highlight.js.map +1 -1
  119. package/dist/define/highlight/prism-highlight.js +1 -1
  120. package/dist/define/highlight/prism-highlight.js.map +1 -1
  121. package/dist/define/http/http-assertions.js +1 -1
  122. package/dist/define/http/http-assertions.js.map +1 -1
  123. package/dist/define/http/http-body-editor.js +1 -1
  124. package/dist/define/http/http-body-editor.js.map +1 -1
  125. package/dist/define/http/http-body-multipart-editor.js +1 -1
  126. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  127. package/dist/define/http/http-body-text-editor.js +1 -1
  128. package/dist/define/http/http-body-text-editor.js.map +1 -1
  129. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  130. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  131. package/dist/define/http/http-headers-form.js +1 -1
  132. package/dist/define/http/http-headers-form.js.map +1 -1
  133. package/dist/define/http/http-log-body.js +1 -1
  134. package/dist/define/http/http-log-body.js.map +1 -1
  135. package/dist/define/http/http-log-headers.js +1 -1
  136. package/dist/define/http/http-log-headers.js.map +1 -1
  137. package/dist/define/http/http-log-timings.js +1 -1
  138. package/dist/define/http/http-log-timings.js.map +1 -1
  139. package/dist/define/http/http-request-config.js +1 -1
  140. package/dist/define/http/http-request-config.js.map +1 -1
  141. package/dist/define/http/http-request-editor.js +1 -1
  142. package/dist/define/http/http-request-editor.js.map +1 -1
  143. package/dist/define/http/http-request-log.js +1 -1
  144. package/dist/define/http/http-request-log.js.map +1 -1
  145. package/dist/define/http/http-snippets.js +1 -1
  146. package/dist/define/http/http-snippets.js.map +1 -1
  147. package/dist/define/http/http-url-input.js +1 -1
  148. package/dist/define/http/http-url-input.js.map +1 -1
  149. package/dist/define/http/http-url-params-form.js +1 -1
  150. package/dist/define/http/http-url-params-form.js.map +1 -1
  151. package/dist/define/http-project/http-project-request-history.js +1 -1
  152. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  153. package/dist/define/http-project/http-project-request.js +2 -2
  154. package/dist/define/http-project/http-project-request.js.map +1 -1
  155. package/dist/define/http-project/project-navigation.js +1 -1
  156. package/dist/define/http-project/project-navigation.js.map +1 -1
  157. package/dist/define/http-project/project-run-report.js +1 -1
  158. package/dist/define/http-project/project-run-report.js.map +1 -1
  159. package/dist/define/http-project/project-runner.js +2 -2
  160. package/dist/define/http-project/project-runner.js.map +1 -1
  161. package/dist/define/layout/split-view.js +1 -1
  162. package/dist/define/layout/split-view.js.map +1 -1
  163. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  164. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  165. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  166. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  167. package/dist/define/ui/ui-button.js +1 -1
  168. package/dist/define/ui/ui-button.js.map +1 -1
  169. package/dist/define/ui/ui-chip.js +1 -1
  170. package/dist/define/ui/ui-chip.js.map +1 -1
  171. package/dist/define/ui/ui-collapse.js +1 -1
  172. package/dist/define/ui/ui-collapse.js.map +1 -1
  173. package/dist/define/ui/ui-dialog.js +1 -1
  174. package/dist/define/ui/ui-dialog.js.map +1 -1
  175. package/dist/define/ui/ui-dropdown-list.js +1 -1
  176. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  177. package/dist/define/ui/ui-icon-button.js +1 -1
  178. package/dist/define/ui/ui-icon-button.js.map +1 -1
  179. package/dist/define/ui/ui-icon.js +1 -1
  180. package/dist/define/ui/ui-icon.js.map +1 -1
  181. package/dist/define/ui/ui-list-item.js +1 -1
  182. package/dist/define/ui/ui-list-item.js.map +1 -1
  183. package/dist/define/ui/ui-list.js +1 -1
  184. package/dist/define/ui/ui-list.js.map +1 -1
  185. package/dist/define/ui/ui-listbox.js +1 -1
  186. package/dist/define/ui/ui-listbox.js.map +1 -1
  187. package/dist/define/ui/ui-progress.js +1 -1
  188. package/dist/define/ui/ui-progress.js.map +1 -1
  189. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  190. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  191. package/dist/define/ui/ui-segmented-button.js +1 -1
  192. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  193. package/dist/define/ui/ui-snackbar.js +1 -1
  194. package/dist/define/ui/ui-snackbar.js.map +1 -1
  195. package/dist/define/ui/ui-tab.js +1 -1
  196. package/dist/define/ui/ui-tab.js.map +1 -1
  197. package/dist/define/ui/ui-tabs.js +1 -1
  198. package/dist/define/ui/ui-tabs.js.map +1 -1
  199. package/dist/directives/data-attr.js +0 -1
  200. package/dist/directives/data-attr.js.map +1 -1
  201. package/dist/elements/ApiElement.js +0 -7
  202. package/dist/elements/ApiElement.js.map +1 -1
  203. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  204. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  205. package/dist/elements/amf/ApiAuthorizationEditor.element.js +0 -32
  206. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  207. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  208. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  209. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  210. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  211. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  212. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  213. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  214. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  215. package/dist/elements/amf/ApiOperationDocument.element.js +0 -76
  216. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  217. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  218. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  219. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  220. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  221. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  222. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  223. package/dist/elements/amf/ApiRequest.element.js +0 -78
  224. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  225. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  226. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  227. package/dist/elements/amf/ApiRequestEditor.element.js +0 -118
  228. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  229. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  230. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  232. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  233. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  234. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  235. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  236. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  237. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  238. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  239. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  240. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  241. package/dist/elements/amf/ApiSummary.element.js +0 -26
  242. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  243. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  244. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  245. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  246. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  247. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  248. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  249. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  250. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  251. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  252. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  253. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  254. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  255. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  256. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  257. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  258. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  259. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  260. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  261. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  262. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  263. package/dist/elements/authorization/ui/Authorization.js +18 -32
  264. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  265. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  266. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  267. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  268. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  269. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  270. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  271. package/dist/elements/code/HttpSnippets.js +9 -8
  272. package/dist/elements/code/HttpSnippets.js.map +1 -1
  273. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  274. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  275. package/dist/elements/dialog/Rename.js +0 -6
  276. package/dist/elements/dialog/Rename.js.map +1 -1
  277. package/dist/elements/environment/EnvironmentEditor.js +8 -11
  278. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  279. package/dist/elements/environment/ServerEditor.js +7 -45
  280. package/dist/elements/environment/ServerEditor.js.map +1 -1
  281. package/dist/elements/environment/VariablesEditor.js +7 -12
  282. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  283. package/dist/elements/files/ShareFile.js +19 -57
  284. package/dist/elements/files/ShareFile.js.map +1 -1
  285. package/dist/elements/har/HarViewer.js +6 -7
  286. package/dist/elements/har/HarViewer.js.map +1 -1
  287. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  288. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  289. package/dist/elements/highlight/PrismHighlight.js +9 -18
  290. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  291. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  292. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  293. package/dist/elements/http/BodyEditor.js +21 -33
  294. package/dist/elements/http/BodyEditor.js.map +1 -1
  295. package/dist/elements/http/BodyMultipartEditor.js +17 -18
  296. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  297. package/dist/elements/http/BodyTextEditor.js +2 -15
  298. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  299. package/dist/elements/http/BodyUrlEncodedEditor.js +20 -21
  300. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  301. package/dist/elements/http/HeadersForm.js +16 -17
  302. package/dist/elements/http/HeadersForm.js.map +1 -1
  303. package/dist/elements/http/HttpAssertions.js +8 -6
  304. package/dist/elements/http/HttpAssertions.js.map +1 -1
  305. package/dist/elements/http/LogBody.js +10 -21
  306. package/dist/elements/http/LogBody.js.map +1 -1
  307. package/dist/elements/http/LogHeaders.js +4 -23
  308. package/dist/elements/http/LogHeaders.js.map +1 -1
  309. package/dist/elements/http/LogTimings.js +11 -13
  310. package/dist/elements/http/LogTimings.js.map +1 -1
  311. package/dist/elements/http/RequestConfigElement.js +7 -4
  312. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  313. package/dist/elements/http/RequestEditor.js +54 -88
  314. package/dist/elements/http/RequestEditor.js.map +1 -1
  315. package/dist/elements/http/RequestLog.js +9 -14
  316. package/dist/elements/http/RequestLog.js.map +1 -1
  317. package/dist/elements/http/UrlInput.js +15 -25
  318. package/dist/elements/http/UrlInput.js.map +1 -1
  319. package/dist/elements/http/UrlParamsForm.js +16 -13
  320. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  321. package/dist/elements/layout/LayoutManager.js +16 -24
  322. package/dist/elements/layout/LayoutManager.js.map +1 -1
  323. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  324. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  325. package/dist/elements/layout/SplitItem.js +4 -12
  326. package/dist/elements/layout/SplitItem.js.map +1 -1
  327. package/dist/elements/layout/SplitLayout.js +18 -24
  328. package/dist/elements/layout/SplitLayout.js.map +1 -1
  329. package/dist/elements/layout/SplitPanel.js +10 -16
  330. package/dist/elements/layout/SplitPanel.js.map +1 -1
  331. package/dist/elements/layout/SplitView.js +17 -26
  332. package/dist/elements/layout/SplitView.js.map +1 -1
  333. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  334. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  335. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  336. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  337. package/dist/elements/project/HttpProjectRequest.js +0 -38
  338. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  339. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  340. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  341. package/dist/elements/project/ProjectNavigation.js +0 -4
  342. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  343. package/dist/elements/project/ProjectRunReport.js +4 -15
  344. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  345. package/dist/elements/project/ProjectRunner.js +2 -47
  346. package/dist/elements/project/ProjectRunner.js.map +1 -1
  347. package/dist/elements/schema-design/AssociationFormElement.js +0 -13
  348. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  349. package/dist/elements/schema-design/DataEntityEditorElement.js +0 -22
  350. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  351. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  352. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  353. package/dist/elements/schema-design/DataSchemaDocument.js +0 -36
  354. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  355. package/dist/elements/schema-design/EntityFormElement.js +0 -18
  356. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  357. package/dist/elements/schema-design/PropertyFormElement.js +0 -12
  358. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  359. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  360. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  361. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  362. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  363. package/dist/elements/user/UserAvatarElement.js +0 -9
  364. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  365. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  366. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  367. package/dist/http-client/idb/Base.js +5 -10
  368. package/dist/http-client/idb/Base.js.map +1 -1
  369. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  370. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  371. package/dist/http-client/idb/MockedStore.js +3 -1
  372. package/dist/http-client/idb/MockedStore.js.map +1 -1
  373. package/dist/http-client/store/DataImportProcessor.js +0 -3
  374. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  375. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  376. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  377. package/dist/http-client/store/IdbThread.js +23 -20
  378. package/dist/http-client/store/IdbThread.js.map +1 -1
  379. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  380. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  381. package/dist/http-client/store/idb/IdbStore.js +0 -2
  382. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  383. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  384. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  385. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  386. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  387. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  388. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  389. package/dist/mixins/FileDropMixin.js +0 -1
  390. package/dist/mixins/FileDropMixin.js.map +1 -1
  391. package/dist/mixins/RenderableMixin.js +11 -15
  392. package/dist/mixins/RenderableMixin.js.map +1 -1
  393. package/dist/pages/ApplicationScreen.js +34 -55
  394. package/dist/pages/ApplicationScreen.js.map +1 -1
  395. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  396. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  397. package/dist/pages/api-client/Authenticate.screen.js +4 -6
  398. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  399. package/dist/pages/api-client/StoreConfig.screen.js +21 -37
  400. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  401. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  402. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  403. package/dist/pages/api-client/pages/Files.page.js +6 -27
  404. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  405. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  406. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  407. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  408. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  409. package/dist/pages/demo/DemoPage.js +13 -13
  410. package/dist/pages/demo/DemoPage.js.map +1 -1
  411. package/dist/pages/http-project/HttpProject.screen.js +25 -35
  412. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  413. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  414. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  415. package/dist/store/HttpStore.js +0 -3
  416. package/dist/store/HttpStore.js.map +1 -1
  417. package/dist/store/UserCache.js +5 -5
  418. package/dist/store/UserCache.js.map +1 -1
  419. package/dist/ui/UiElement.js +4 -5
  420. package/dist/ui/UiElement.js.map +1 -1
  421. package/dist/ui/button/SegmentedButton.js +9 -11
  422. package/dist/ui/button/SegmentedButton.js.map +1 -1
  423. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  424. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  425. package/dist/ui/button/UiButton.js +17 -39
  426. package/dist/ui/button/UiButton.js.map +1 -1
  427. package/dist/ui/button/UiIconButton.js +9 -35
  428. package/dist/ui/button/UiIconButton.js.map +1 -1
  429. package/dist/ui/chip/UiChip.js +9 -49
  430. package/dist/ui/chip/UiChip.js.map +1 -1
  431. package/dist/ui/collapse/UiCollapse.js +15 -20
  432. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  433. package/dist/ui/controllers/ActionController.js +143 -144
  434. package/dist/ui/controllers/ActionController.js.map +1 -1
  435. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  436. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  437. package/dist/ui/date/DateTime.js +3 -3
  438. package/dist/ui/date/DateTime.js.map +1 -1
  439. package/dist/ui/dialog/UiDialog.js +14 -38
  440. package/dist/ui/dialog/UiDialog.js.map +1 -1
  441. package/dist/ui/effects/ripple.js +20 -18
  442. package/dist/ui/effects/ripple.js.map +1 -1
  443. package/dist/ui/effects/rippleDirective.js +6 -7
  444. package/dist/ui/effects/rippleDirective.js.map +1 -1
  445. package/dist/ui/icons/UiIcon.js +4 -3
  446. package/dist/ui/icons/UiIcon.js.map +1 -1
  447. package/dist/ui/input/CheckboxElement.js +12 -10
  448. package/dist/ui/input/CheckboxElement.js.map +1 -1
  449. package/dist/ui/input/CheckedElement.js +2 -13
  450. package/dist/ui/input/CheckedElement.js.map +1 -1
  451. package/dist/ui/input/Input.js +169 -234
  452. package/dist/ui/input/Input.js.map +1 -1
  453. package/dist/ui/input/RadioElement.js +13 -11
  454. package/dist/ui/input/RadioElement.js.map +1 -1
  455. package/dist/ui/input/SwitchElement.js +0 -18
  456. package/dist/ui/input/SwitchElement.js.map +1 -1
  457. package/dist/ui/input/TextAreaElement.js +0 -15
  458. package/dist/ui/input/TextAreaElement.js.map +1 -1
  459. package/dist/ui/list/DividerElement.js +5 -10
  460. package/dist/ui/list/DividerElement.js.map +1 -1
  461. package/dist/ui/list/UiDropdownList.js +7 -48
  462. package/dist/ui/list/UiDropdownList.js.map +1 -1
  463. package/dist/ui/list/UiList.js +3 -15
  464. package/dist/ui/list/UiList.js.map +1 -1
  465. package/dist/ui/list/UiListItem.js +4 -17
  466. package/dist/ui/list/UiListItem.js.map +1 -1
  467. package/dist/ui/list/UiListbox.js +0 -1
  468. package/dist/ui/list/UiListbox.js.map +1 -1
  469. package/dist/ui/notification/SnackNotifications.js +1 -2
  470. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  471. package/dist/ui/notification/Snackbar.js +27 -51
  472. package/dist/ui/notification/Snackbar.js.map +1 -1
  473. package/dist/ui/progress/Range.js +24 -23
  474. package/dist/ui/progress/Range.js.map +1 -1
  475. package/dist/ui/progress/UiProgress.js +0 -11
  476. package/dist/ui/progress/UiProgress.js.map +1 -1
  477. package/dist/ui/table/DataTable.js +7 -12
  478. package/dist/ui/table/DataTable.js.map +1 -1
  479. package/dist/ui/tabs/UiTab.js +24 -25
  480. package/dist/ui/tabs/UiTab.js.map +1 -1
  481. package/dist/ui/tabs/UiTabs.js +21 -35
  482. package/dist/ui/tabs/UiTabs.js.map +1 -1
  483. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  484. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  485. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  486. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  487. package/dist/visualization/lib/Point.js +0 -2
  488. package/dist/visualization/lib/Point.js.map +1 -1
  489. package/dist/visualization/lib/SelectionManager.js +10 -11
  490. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  491. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  492. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  493. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  494. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  495. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  496. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  497. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  498. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  499. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  500. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  501. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  502. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  503. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  504. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  505. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  506. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  507. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  508. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  509. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  510. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  511. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  512. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  513. package/package.json +3 -2
  514. package/tsconfig.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ApiSummary.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSummary.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { AmfNamespace, ApiDefinitions } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { sanitizeHTML } from '../../amf/lib/Utils.js';\nimport * as UrlLib from '../../amf/lib/UrlUtils.js';\nimport { NavigationEvents } from '../../events/amf/NavigationEvents.js';\nimport { ApiEvents } from '../../events/amf/ApiEvents.js';\nimport { ReportingEvents } from '../../events/amf/ReportingEvents.js';\nimport { TelemetryEvents } from '../../events/amf/TelemetryEvents.js';\nimport { ServerEvents } from '../../events/amf/ServerEvents.js';\nimport { EndpointEvents } from '../../events/amf/EndpointEvents.js';\nimport { SelectionType } from '../../amf/types.js';\nimport '../../define/highlight/marked-highlight.js';\n\n/**\n * A web component that renders the documentation page for an API documentation (like in RAML documentations) built from \n * the AMF graph model.\n */\nexport default class ApiSummary extends ApiDocumentationBase {\n protected summaryValue?: ApiDefinitions.IApiSummary;\n\n get summary(): ApiDefinitions.IApiSummary | undefined {\n return this.summaryValue;\n }\n\n protected serversValue?: ApiDefinitions.IApiServer[];\n\n get servers(): ApiDefinitions.IApiServer[] | undefined {\n return this.serversValue;\n }\n\n /**\n * A property to set to override AMF's model base URI information.\n * When this property is set, the `endpointUri` property is recalculated.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n /**\n * API title header level in value range from 1 to 6.\n * This is made for accessibility. It the component is used in a context\n * where headers order matters then this property is to be set to\n * arrange headers in the right order.\n *\n * @default 2\n * @attribute\n */\n @property({ type: Number }) titleLevel?: number;\n\n /**\n * A property to hide the table of contents list of endpoints.\n * @attribute\n */\n @property({ type: Boolean }) hideToc?: boolean;\n\n @state() protocols?: string[];\n\n protected endpointsValue?: ApiDefinitions.IApiEndPointWithOperationsListItem[];\n\n get endpoints(): ApiDefinitions.IApiEndPointWithOperationsListItem[] | undefined {\n if (this.endpointsValue) {\n return [...this.endpointsValue];\n }\n return undefined;\n }\n\n protected isAsyncValue?: boolean;\n\n constructor() {\n super();\n this.titleLevel = 2;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.processDebounce();\n }\n\n /**\n * Queries the graph store for the API data.\n */\n override async processGraph(): Promise<void> {\n await this.querySummary();\n await this.queryServers();\n await this.queryEndpoints();\n await this.processSummary();\n this.requestUpdate();\n }\n\n /**\n * Queries the API store for the API summary object.\n */\n async querySummary(): Promise<void> {\n this.summaryValue = undefined;\n try {\n const info = await ApiEvents.summary(this);\n this.summaryValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API summary data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Queries the API store for the API summary object.\n */\n async queryServers(): Promise<void> {\n this.serversValue = undefined;\n try {\n const info = await ServerEvents.query(this);\n this.serversValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API servers: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Logic executed after the summary is requested from the store.\n */\n async processSummary(): Promise<void> {\n this.isAsyncValue = undefined;\n const { summary } = this;\n if (!summary) {\n return;\n }\n this.isAsyncValue = summary.types.includes(AmfNamespace.aml.vocabularies.apiContract.AsyncAPI);\n }\n\n /**\n * Queries the API endpoints and methods.\n */\n async queryEndpoints(): Promise<void> {\n this.endpointsValue = undefined;\n try {\n const info = await EndpointEvents.list(this);\n this.endpointsValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API endpoints: ${ex.message}`, this.localName);\n }\n }\n\n protected navigateHandler(e: Event): void {\n e.preventDefault();\n const target = e.composedPath()[0] as HTMLElement;\n const data = target.dataset;\n if (!data.id || !data.shapeType) {\n return;\n }\n NavigationEvents.apiNavigate(this, data.id, (data.shapeType as SelectionType), data.parent);\n }\n\n override render(): TemplateResult {\n const { summary } = this;\n if (!summary) {\n return html``;\n }\n return html`\n ${this.titleTemplate()}\n ${this.versionTemplate()}\n ${this.descriptionTemplate(summary.description)}\n ${this.serversTemplate()}\n ${this.protocolsTemplate()}\n ${this.contactInfoTemplate()}\n ${this.licenseTemplate()}\n ${this.termsOfServiceTemplate()}\n ${this.endpointsTemplate()}\n `;\n }\n\n protected titleTemplate(): TemplateResult|string {\n const { summary, titleLevel } = this;\n if (!summary || !summary.name) {\n return '';\n }\n return html`\n <div class=\"api-title\" role=\"heading\" aria-level=\"${titleLevel || ''}\" part=\"api-title\">\n <label part=\"api-title-label\">API title:</label>\n <span class=\"text-selectable\">${summary.name}</span>\n </div>`;\n }\n\n protected versionTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.version) {\n return '';\n }\n return html`\n <p class=\"inline-description version\" part=\"api-version\">\n <label>Version:</label>\n <span class=\"text-selectable\">${summary.version}</span>\n </p>`;\n }\n\n /**\n * @returns A template for a server, servers, or no servers\n * whether it's defined in the main API definition or not.\n */\n protected serversTemplate(): TemplateResult|string {\n const { servers, baseUri } = this;\n if (baseUri) {\n return this.baseUriTemplate(undefined);\n }\n if (!servers || !servers.length) {\n return '';\n }\n if (servers.length === 1) {\n return this.baseUriTemplate(servers[0]);\n }\n return html`\n <div class=\"servers\" slot=\"markdown-html\">\n <p class=\"servers-label\">API servers</p>\n <ul class=\"server-lists\">\n ${servers.map((server) => this.serverTemplate(server))}\n </ul>\n </div>`;\n }\n\n /**\n * @param server Server definition\n * @returns A template for a single server in the main API definition\n */\n protected baseUriTemplate(server?: ApiDefinitions.IApiServer): TemplateResult {\n const { baseUri, protocols } = this;\n const uri = UrlLib.computeApiBaseUri({ baseUri, server, protocols, });\n return html`\n <div class=\"endpoint-url\">\n <div class=\"url-value\">${uri}</div>\n </div>\n `;\n }\n\n /**\n * @param server Server definition\n * @returns Template for a server list items when there is more than one server.\n */\n protected serverTemplate(server: ApiDefinitions.IApiServer): TemplateResult {\n const { baseUri, protocols } = this;\n const uri = UrlLib.computeApiBaseUri({ baseUri, server, protocols, });\n const { description } = server;\n return html`\n <li class=\"text-selectable\">\n ${uri}\n ${description ? html`<marked-highlight .markdown=${description} class=\"server-description\"></marked-highlight>` : ''}\n </li>`;\n }\n\n protected protocolsTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.schemes || !summary.schemes.length) {\n return '';\n }\n const result = summary.schemes.map((item) => html`<span class=\"chip text-selectable\">${item}</span>`);\n\n return html`\n <label class=\"section\">Supported protocols</label>\n <div class=\"protocol-chips\">${result}</div>`;\n }\n\n protected contactInfoTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.provider || !summary.provider.name) {\n return '';\n }\n const { name='', email, url } = summary.provider;\n const link = url ? sanitizeHTML(\n `<a href=\"${url}\" target=\"_blank\" class=\"app-link provider-url text-selectable\">${url}</a>`,\n ) : '';\n return html`\n <section role=\"contentinfo\" class=\"docs-section\" part=\"info-section\">\n <label class=\"section\">Contact information</label>\n <p class=\"inline-description\" part=\"info-inline-desc\">\n <span class=\"provider-name text-selectable\">${name}</span>\n ${email ? html`<a class=\"app-link link-padding provider-email text-selectable\" href=\"mailto:${email}\">${email}</a>` : ''}\n </p>\n ${url ? html` <p class=\"inline-description text-selectable\" part=\"info-inline-desc\">${unsafeHTML(link)}</p>` : ''}\n </section>`;\n }\n\n protected licenseTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.license) {\n return '';\n }\n const { url, name } = summary.license;\n if (!url || !name) {\n return '';\n }\n const link = sanitizeHTML(\n `<a href=\"${url}\" target=\"_blank\" class=\"app-link text-selectable\">${name}</a>`,\n );\n return html`\n <section aria-labelledby=\"licenseLabel\" class=\"docs-section\" part=\"license-section\">\n <label class=\"section\" id=\"licenseLabel\">License</label>\n <p class=\"inline-description\">\n ${unsafeHTML(link)}\n </p>\n </section>`;\n }\n\n protected termsOfServiceTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.termsOfService || !summary.termsOfService.length) {\n return '';\n }\n return html`\n <section aria-labelledby=\"tocLabel\" class=\"docs-section\">\n <label class=\"section\" id=\"tocLabel\">Terms of service</label>\n <marked-highlight .markdown=\"${summary.termsOfService}\" sanitize>\n <div slot=\"markdown-html\" class=\"markdown-body text-selectable\"></div>\n </marked-highlight>\n </section>`;\n }\n\n protected endpointsTemplate(): TemplateResult|string {\n if (this.hideToc) {\n return '';\n }\n const endpoints = this.endpointsValue as ApiDefinitions.IApiEndPointWithOperationsListItem[];\n if (!endpoints || !endpoints.length) {\n return '';\n }\n const result = endpoints.map((item) => this.endpointTemplate(item));\n const pathLabel = this.isAsyncValue ? 'channels' : 'endpoints';\n return html`\n <div class=\"separator\" part=\"separator\"></div>\n <div class=\"toc\" part=\"toc\">\n <label class=\"section endpoints-title\">API ${pathLabel}</label>\n ${result}\n </div>\n `;\n }\n\n protected endpointTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n const { operations=[] } = item;\n const ops = operations.length ? operations.map((op) => this.methodTemplate(op, item)) : '';\n return html`\n <div class=\"endpoint-item\" @click=\"${this.navigateHandler}\" @keydown=\"${() => {}}\">\n ${item.name ? this.endpointNameTemplate(item) : this.endpointPathTemplate(item)}\n <div class=\"endpoint-header\">\n ${ops}\n </div>\n </div>`;\n }\n\n protected endpointPathTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n return html`\n <a\n class=\"endpoint-path text-selectable\"\n href=\"#${item.path}\"\n data-id=\"${ifDefined(item.id)}\"\n data-shape-type=\"resource\"\n title=\"Open endpoint documentation\">${item.path}</a>\n `;\n }\n\n protected endpointNameTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult|string {\n if (!item.name) {\n return '';\n }\n return html`\n <a\n class=\"endpoint-path text-selectable\"\n href=\"#${item.path}\"\n data-id=\"${ifDefined(item.id)}\"\n data-shape-type=\"resource\"\n title=\"Open endpoint documentation\">${item.name}</a>\n <p class=\"endpoint-path-name\">${item.path}</p>\n `;\n }\n\n protected methodTemplate(item: ApiDefinitions.IApiOperationListItem, endpoint: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n return html`\n <a\n href=\"#${`${endpoint.path}/${item.method}`}\"\n class=\"http-label pill\"\n data-method=\"${item.method}\"\n data-id=\"${item.id}\"\n data-shape-type=\"operation\"\n data-parent=\"${ifDefined(endpoint.id)}\"\n title=\"Open method documentation\">${item.method}</a>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ApiSummary.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiSummary.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { AmfNamespace, ApiDefinitions } from '@api-client/core/build/browser.js';\nimport { ApiDocumentationBase } from './ApiDocumentationBase.js';\nimport { sanitizeHTML } from '../../amf/lib/Utils.js';\nimport * as UrlLib from '../../amf/lib/UrlUtils.js';\nimport { NavigationEvents } from '../../events/amf/NavigationEvents.js';\nimport { ApiEvents } from '../../events/amf/ApiEvents.js';\nimport { ReportingEvents } from '../../events/amf/ReportingEvents.js';\nimport { TelemetryEvents } from '../../events/amf/TelemetryEvents.js';\nimport { ServerEvents } from '../../events/amf/ServerEvents.js';\nimport { EndpointEvents } from '../../events/amf/EndpointEvents.js';\nimport { SelectionType } from '../../amf/types.js';\nimport '../../define/highlight/marked-highlight.js';\n\n/**\n * A web component that renders the documentation page for an API documentation (like in RAML documentations) built from \n * the AMF graph model.\n */\nexport default class ApiSummary extends ApiDocumentationBase {\n protected summaryValue?: ApiDefinitions.IApiSummary;\n\n get summary(): ApiDefinitions.IApiSummary | undefined {\n return this.summaryValue;\n }\n\n protected serversValue?: ApiDefinitions.IApiServer[];\n\n get servers(): ApiDefinitions.IApiServer[] | undefined {\n return this.serversValue;\n }\n\n /**\n * A property to set to override AMF's model base URI information.\n * When this property is set, the `endpointUri` property is recalculated.\n * @attribute\n */\n @property({ type: String }) baseUri?: string;\n\n /**\n * API title header level in value range from 1 to 6.\n * This is made for accessibility. It the component is used in a context\n * where headers order matters then this property is to be set to\n * arrange headers in the right order.\n *\n * @default 2\n * @attribute\n */\n @property({ type: Number }) titleLevel?: number;\n\n /**\n * A property to hide the table of contents list of endpoints.\n * @attribute\n */\n @property({ type: Boolean }) hideToc?: boolean;\n\n @state() protocols?: string[];\n\n protected endpointsValue?: ApiDefinitions.IApiEndPointWithOperationsListItem[];\n\n get endpoints(): ApiDefinitions.IApiEndPointWithOperationsListItem[] | undefined {\n if (this.endpointsValue) {\n return [...this.endpointsValue];\n }\n return undefined;\n }\n\n protected isAsyncValue?: boolean;\n\n constructor() {\n super();\n this.titleLevel = 2;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.processDebounce();\n }\n\n /**\n * Queries the graph store for the API data.\n */\n override async processGraph(): Promise<void> {\n await this.querySummary();\n await this.queryServers();\n await this.queryEndpoints();\n await this.processSummary();\n this.requestUpdate();\n }\n\n /**\n * Queries the API store for the API summary object.\n */\n async querySummary(): Promise<void> {\n this.summaryValue = undefined;\n try {\n const info = await ApiEvents.summary(this);\n this.summaryValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API summary data: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Queries the API store for the API summary object.\n */\n async queryServers(): Promise<void> {\n this.serversValue = undefined;\n try {\n const info = await ServerEvents.query(this);\n this.serversValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API servers: ${ex.message}`, this.localName);\n }\n }\n\n /**\n * Logic executed after the summary is requested from the store.\n */\n async processSummary(): Promise<void> {\n this.isAsyncValue = undefined;\n const { summary } = this;\n if (!summary) {\n return;\n }\n this.isAsyncValue = summary.types.includes(AmfNamespace.aml.vocabularies.apiContract.AsyncAPI);\n }\n\n /**\n * Queries the API endpoints and methods.\n */\n async queryEndpoints(): Promise<void> {\n this.endpointsValue = undefined;\n try {\n const info = await EndpointEvents.list(this);\n this.endpointsValue = info;\n } catch (e) {\n const ex = e as Error;\n TelemetryEvents.exception(this, ex.message, false);\n ReportingEvents.error(this, ex, `Unable to query for API endpoints: ${ex.message}`, this.localName);\n }\n }\n\n protected navigateHandler(e: Event): void {\n e.preventDefault();\n const target = e.composedPath()[0] as HTMLElement;\n const data = target.dataset;\n if (!data.id || !data.shapeType) {\n return;\n }\n NavigationEvents.apiNavigate(this, data.id, (data.shapeType as SelectionType), data.parent);\n }\n\n override render(): TemplateResult {\n const { summary } = this;\n if (!summary) {\n return html``;\n }\n return html`\n ${this.titleTemplate()}\n ${this.versionTemplate()}\n ${this.descriptionTemplate(summary.description)}\n ${this.serversTemplate()}\n ${this.protocolsTemplate()}\n ${this.contactInfoTemplate()}\n ${this.licenseTemplate()}\n ${this.termsOfServiceTemplate()}\n ${this.endpointsTemplate()}\n `;\n }\n\n protected titleTemplate(): TemplateResult|string {\n const { summary, titleLevel } = this;\n if (!summary || !summary.name) {\n return '';\n }\n return html`\n <div class=\"api-title\" role=\"heading\" aria-level=\"${titleLevel || ''}\" part=\"api-title\">\n <label part=\"api-title-label\">API title:</label>\n <span class=\"text-selectable\">${summary.name}</span>\n </div>`;\n }\n\n protected versionTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.version) {\n return '';\n }\n return html`\n <p class=\"inline-description version\" part=\"api-version\">\n <label>Version:</label>\n <span class=\"text-selectable\">${summary.version}</span>\n </p>`;\n }\n\n /**\n * @returns A template for a server, servers, or no servers\n * whether it's defined in the main API definition or not.\n */\n protected serversTemplate(): TemplateResult|string {\n const { servers, baseUri } = this;\n if (baseUri) {\n return this.baseUriTemplate(undefined);\n }\n if (!servers || !servers.length) {\n return '';\n }\n if (servers.length === 1) {\n return this.baseUriTemplate(servers[0]);\n }\n return html`\n <div class=\"servers\" slot=\"markdown-html\">\n <p class=\"servers-label\">API servers</p>\n <ul class=\"server-lists\">\n ${servers.map((server) => this.serverTemplate(server))}\n </ul>\n </div>`;\n }\n\n /**\n * @param server Server definition\n * @returns A template for a single server in the main API definition\n */\n protected baseUriTemplate(server?: ApiDefinitions.IApiServer): TemplateResult {\n const { baseUri, protocols } = this;\n const uri = UrlLib.computeApiBaseUri({ baseUri, server, protocols, });\n return html`\n <div class=\"endpoint-url\">\n <div class=\"url-value\">${uri}</div>\n </div>\n `;\n }\n\n /**\n * @param server Server definition\n * @returns Template for a server list items when there is more than one server.\n */\n protected serverTemplate(server: ApiDefinitions.IApiServer): TemplateResult {\n const { baseUri, protocols } = this;\n const uri = UrlLib.computeApiBaseUri({ baseUri, server, protocols, });\n const { description } = server;\n return html`\n <li class=\"text-selectable\">\n ${uri}\n ${description ? html`<marked-highlight .markdown=${description} class=\"server-description\"></marked-highlight>` : ''}\n </li>`;\n }\n\n protected protocolsTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.schemes || !summary.schemes.length) {\n return '';\n }\n const result = summary.schemes.map((item) => html`<span class=\"chip text-selectable\">${item}</span>`);\n\n return html`\n <label class=\"section\">Supported protocols</label>\n <div class=\"protocol-chips\">${result}</div>`;\n }\n\n protected contactInfoTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.provider || !summary.provider.name) {\n return '';\n }\n const { name='', email, url } = summary.provider;\n const link = url ? sanitizeHTML(\n `<a href=\"${url}\" target=\"_blank\" class=\"app-link provider-url text-selectable\">${url}</a>`,\n ) : '';\n return html`\n <section role=\"contentinfo\" class=\"docs-section\" part=\"info-section\">\n <label class=\"section\">Contact information</label>\n <p class=\"inline-description\" part=\"info-inline-desc\">\n <span class=\"provider-name text-selectable\">${name}</span>\n ${email ? html`<a class=\"app-link link-padding provider-email text-selectable\" href=\"mailto:${email}\">${email}</a>` : ''}\n </p>\n ${url ? html` <p class=\"inline-description text-selectable\" part=\"info-inline-desc\">${unsafeHTML(link)}</p>` : ''}\n </section>`;\n }\n\n protected licenseTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.license) {\n return '';\n }\n const { url, name } = summary.license;\n if (!url || !name) {\n return '';\n }\n const link = sanitizeHTML(\n `<a href=\"${url}\" target=\"_blank\" class=\"app-link text-selectable\">${name}</a>`,\n );\n return html`\n <section aria-labelledby=\"licenseLabel\" class=\"docs-section\" part=\"license-section\">\n <label class=\"section\" id=\"licenseLabel\">License</label>\n <p class=\"inline-description\">\n ${unsafeHTML(link)}\n </p>\n </section>`;\n }\n\n protected termsOfServiceTemplate(): TemplateResult|string {\n const { summary } = this;\n if (!summary || !summary.termsOfService || !summary.termsOfService.length) {\n return '';\n }\n return html`\n <section aria-labelledby=\"tocLabel\" class=\"docs-section\">\n <label class=\"section\" id=\"tocLabel\">Terms of service</label>\n <marked-highlight .markdown=\"${summary.termsOfService}\" sanitize>\n <div slot=\"markdown-html\" class=\"markdown-body text-selectable\"></div>\n </marked-highlight>\n </section>`;\n }\n\n protected endpointsTemplate(): TemplateResult|string {\n if (this.hideToc) {\n return '';\n }\n const endpoints = this.endpointsValue as ApiDefinitions.IApiEndPointWithOperationsListItem[];\n if (!endpoints || !endpoints.length) {\n return '';\n }\n const result = endpoints.map((item) => this.endpointTemplate(item));\n const pathLabel = this.isAsyncValue ? 'channels' : 'endpoints';\n return html`\n <div class=\"separator\" part=\"separator\"></div>\n <div class=\"toc\" part=\"toc\">\n <label class=\"section endpoints-title\">API ${pathLabel}</label>\n ${result}\n </div>\n `;\n }\n\n protected endpointTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n const { operations=[] } = item;\n const ops = operations.length ? operations.map((op) => this.methodTemplate(op, item)) : '';\n return html`\n <div class=\"endpoint-item\" @click=\"${this.navigateHandler}\" @keydown=\"${() => {}}\">\n ${item.name ? this.endpointNameTemplate(item) : this.endpointPathTemplate(item)}\n <div class=\"endpoint-header\">\n ${ops}\n </div>\n </div>`;\n }\n\n protected endpointPathTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n return html`\n <a\n class=\"endpoint-path text-selectable\"\n href=\"#${item.path}\"\n data-id=\"${ifDefined(item.id)}\"\n data-shape-type=\"resource\"\n title=\"Open endpoint documentation\">${item.path}</a>\n `;\n }\n\n protected endpointNameTemplate(item: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult|string {\n if (!item.name) {\n return '';\n }\n return html`\n <a\n class=\"endpoint-path text-selectable\"\n href=\"#${item.path}\"\n data-id=\"${ifDefined(item.id)}\"\n data-shape-type=\"resource\"\n title=\"Open endpoint documentation\">${item.name}</a>\n <p class=\"endpoint-path-name\">${item.path}</p>\n `;\n }\n\n protected methodTemplate(item: ApiDefinitions.IApiOperationListItem, endpoint: ApiDefinitions.IApiEndPointWithOperationsListItem): TemplateResult {\n return html`\n <a\n href=\"#${`${endpoint.path}/${item.method}`}\"\n class=\"http-label pill\"\n data-method=\"${item.method}\"\n data-id=\"${item.id}\"\n data-shape-type=\"operation\"\n data-parent=\"${ifDefined(endpoint.id)}\"\n title=\"Open method documentation\">${item.method}</a>\n `;\n }\n}\n"]}
@@ -6,11 +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 AmfApiKey extends Authorization {
9
- /**
10
- * The in-memory key where the values are stored.
11
- */
12
- security;
13
- amfParameters;
14
9
  constructor() {
15
10
  super();
16
11
  this.amfParameters = new AmfParameters(this);
@@ -1 +1 @@
1
- {"version":3,"file":"AmfApiKey.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfApiKey.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IApiKeyAuthorization, 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';\n\nexport default class AmfApiKey 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 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: 'api key',\n valid: false,\n config: {} as IApiKeyAuthorization,\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('Api Key')) {\n return;\n }\n const config = scheme.settings as ApiDefinitions.IApiSecurityApiKeySettings | undefined;\n if (!config) {\n return;\n }\n\n const { in: binding = '', id } = config;\n if (!InputCache.has(this, id, true)) {\n InputCache.set(this, id, '', true);\n }\n\n const params = this.amfParameters.parametersValue;\n params.push({\n binding,\n paramId: id,\n parameter: { ... (config as ApiDefinitions.IApiParameter), binding },\n source: 'settings',\n schemaId: scheme.id,\n schema: (scheme as unknown as AmfShapes.IShapeUnion),\n });\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\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 /**\n * Updates, if applicable, cookie value.\n * This is supported in OAS' Api Key.\n *\n * This does nothing if the cookie has not been defined for current\n * scheme.\n *\n * @param name The name of the changed cookie\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateCookie(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'cookie' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IApiKeyAuthorization {\n const result: IApiKeyAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IApiKeyAuthorization]) {\n result[param.binding as keyof IApiKeyAuthorization] = {};\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 IApiKeyAuthorization] 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 true;\n }\n const value = InputCache.get(this, param.paramId, true);\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: Api Key</span>\n </div>\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form apikey-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n ${this.cookieTemplate()}\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 cookieTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'cookie');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Cookies</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AmfApiKey.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfApiKey.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IApiKeyAuthorization, 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';\n\nexport default class AmfApiKey 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 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: 'api key',\n valid: false,\n config: {} as IApiKeyAuthorization,\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('Api Key')) {\n return;\n }\n const config = scheme.settings as ApiDefinitions.IApiSecurityApiKeySettings | undefined;\n if (!config) {\n return;\n }\n\n const { in: binding = '', id } = config;\n if (!InputCache.has(this, id, true)) {\n InputCache.set(this, id, '', true);\n }\n\n const params = this.amfParameters.parametersValue;\n params.push({\n binding,\n paramId: id,\n parameter: { ... (config as ApiDefinitions.IApiParameter), binding },\n source: 'settings',\n schemaId: scheme.id,\n schema: (scheme as unknown as AmfShapes.IShapeUnion),\n });\n\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\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 /**\n * Updates, if applicable, cookie value.\n * This is supported in OAS' Api Key.\n *\n * This does nothing if the cookie has not been defined for current\n * scheme.\n *\n * @param name The name of the changed cookie\n * @param newValue A value to apply. May be empty but must be defined.\n */\n updateCookie(name: string, newValue: string): void {\n const list = this.amfParameters.parametersValue;\n const param = list.find(i => i.binding === 'cookie' && i.parameter.name === name);\n if (param) {\n InputCache.set(this, param.paramId, newValue, true);\n this.requestUpdate();\n }\n }\n\n serialize(): IApiKeyAuthorization {\n const result: IApiKeyAuthorization = {};\n const params = this.amfParameters.parametersValue;\n params.forEach((param) => {\n if (!result[param.binding as keyof IApiKeyAuthorization]) {\n result[param.binding as keyof IApiKeyAuthorization] = {};\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 IApiKeyAuthorization] 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 true;\n }\n const value = InputCache.get(this, param.paramId, true);\n return !value;\n });\n }\n\n override render(): TemplateResult {\n return html`\n ${this.renderHeader()}\n ${this.renderEditor()}\n `;\n }\n\n protected override renderHeader(): TemplateResult | typeof nothing {\n return html`\n <div class=\"auth-header\">\n <span class=\"auth-title\">Scheme: Api Key</span>\n </div>\n `;\n }\n\n protected renderEditor(): TemplateResult | typeof nothing {\n return html`\n <form autocomplete=\"on\" class=\"auth-form apikey-auth\">\n ${this.headersTemplate()}\n ${this.queryTemplate()}\n ${this.cookieTemplate()}\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 cookieTemplate(): TemplateResult | typeof nothing {\n const params = this.amfParameters.parametersValue.filter(item => item.binding === 'cookie');\n if (!params.length) {\n return nothing;\n }\n return html`\n <div class=\"section-title\"><span class=\"label\">Cookies</span></div>\n ${params.map(param => this.amfParameters.parameterTemplate(param))}\n `;\n }\n}\n"]}
@@ -4,10 +4,6 @@ import { RequestAuthorizationKind } from "@api-client/core/build/browser.js";
4
4
  import BasicAuthorization from "../../authorization/ui/BasicAuthorization.js";
5
5
  import * as InputCache from '../../../amf/lib/InputCache.js';
6
6
  export default class AmfBasic extends BasicAuthorization {
7
- /**
8
- * The in-memory key where the values are stored.
9
- */
10
- security;
11
7
  willUpdate(cp) {
12
8
  if (cp.has('security')) {
13
9
  this.restoreValues();
@@ -1 +1 @@
1
- {"version":3,"file":"AmfBasic.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfBasic.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAA8D,MAAM,mCAAmC,CAAC;AACzI,OAAO,kBAAkB,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,kBAAkB;IACtD;;OAEG;IACyB,QAAQ,CAAiD;IAElE,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,QAAQ,EAAE,EAAE;iBACU;aACzB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA6B,CAAC;QAClD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;YACtC,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAoC,CAAC;QAC3F,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEkB,cAAc,CAAC,CAAQ;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAEkB,cAAc,CAAC,CAAQ;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AA7D6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAA0D","sourcesContent":["import { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IBasicAuthorization, ApiDefinitions, IRequestAuthorization } from \"@api-client/core/build/browser.js\";\nimport BasicAuthorization from \"../../authorization/ui/BasicAuthorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\n\nexport default class AmfBasic extends BasicAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'basic',\n valid: false,\n config: {\n username: '',\n } as IBasicAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const auth = this.ensureConfig();\n const config = auth.config as IBasicAuthorization;\n if (config.username || config.password) {\n return;\n }\n const { security } = this;\n if (!security) {\n return;\n }\n const restore = InputCache.get(this, security.id, true) as IBasicAuthorization | undefined;\n if (!restore) {\n return;\n }\n auth.config = restore;\n this.requestUpdate();\n }\n\n protected override handleUsername(e: Event): void {\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n super.handleUsername(e);\n InputCache.set(this, security.id, auth.config, true);\n }\n\n protected override handlePassword(e: Event): void {\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n super.handlePassword(e);\n InputCache.set(this, security.id, auth.config, true);\n }\n}\n"]}
1
+ {"version":3,"file":"AmfBasic.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfBasic.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAA8D,MAAM,mCAAmC,CAAC;AACzI,OAAO,kBAAkB,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,kBAAkB;IAMnC,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,QAAQ,EAAE,EAAE;iBACU;aACzB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA6B,CAAC;QAClD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;YACtC,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAoC,CAAC;QAC3F,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEkB,cAAc,CAAC,CAAQ;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAEkB,cAAc,CAAC,CAAQ;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AA7D6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAA0D","sourcesContent":["import { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IBasicAuthorization, ApiDefinitions, IRequestAuthorization } from \"@api-client/core/build/browser.js\";\nimport BasicAuthorization from \"../../authorization/ui/BasicAuthorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\n\nexport default class AmfBasic extends BasicAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'basic',\n valid: false,\n config: {\n username: '',\n } as IBasicAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const auth = this.ensureConfig();\n const config = auth.config as IBasicAuthorization;\n if (config.username || config.password) {\n return;\n }\n const { security } = this;\n if (!security) {\n return;\n }\n const restore = InputCache.get(this, security.id, true) as IBasicAuthorization | undefined;\n if (!restore) {\n return;\n }\n auth.config = restore;\n this.requestUpdate();\n }\n\n protected override handleUsername(e: Event): void {\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n super.handleUsername(e);\n InputCache.set(this, security.id, auth.config, true);\n }\n\n protected override handlePassword(e: Event): void {\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n super.handlePassword(e);\n InputCache.set(this, security.id, auth.config, true);\n }\n}\n"]}
@@ -4,10 +4,6 @@ import { RequestAuthorizationKind } from "@api-client/core/build/browser.js";
4
4
  import BearerAuthorization from "../../authorization/ui/BearerAuthorization.js";
5
5
  import * as InputCache from '../../../amf/lib/InputCache.js';
6
6
  export default class AmfBearer extends BearerAuthorization {
7
- /**
8
- * The in-memory key where the values are stored.
9
- */
10
- security;
11
7
  willUpdate(cp) {
12
8
  if (cp.has('security')) {
13
9
  this.restoreValues();
@@ -1 +1 @@
1
- {"version":3,"file":"AmfBearer.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfBearer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAA+D,MAAM,mCAAmC,CAAC;AAC1I,OAAO,mBAAmB,MAAM,+CAA+C,CAAC;AAChF,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,mBAAmB;IACxD;;OAEG;IACyB,QAAQ,CAAiD;IAElE,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,KAAK,EAAE,EAAE;iBACc;aAC1B,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAqC,CAAC;QAC5F,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEkB,WAAW,CAAC,CAAQ;QACrC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AA/C6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAA0D","sourcesContent":["import { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IBearerAuthorization, ApiDefinitions, IRequestAuthorization } from \"@api-client/core/build/browser.js\";\nimport BearerAuthorization from \"../../authorization/ui/BearerAuthorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\n\nexport default class AmfBearer extends BearerAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'bearer',\n valid: false,\n config: {\n token: '',\n } as IBearerAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const auth = this.ensureConfig();\n const { security } = this;\n if (!security) {\n return;\n }\n const restore = InputCache.get(this, security.id, true) as IBearerAuthorization | undefined;\n if (!restore) {\n return;\n }\n auth.config = restore;\n this.requestUpdate();\n }\n\n protected override handleToken(e: Event): void {\n super.handleToken(e);\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n InputCache.set(this, security.id, auth.config, true);\n }\n}\n"]}
1
+ {"version":3,"file":"AmfBearer.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfBearer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAA+D,MAAM,mCAAmC,CAAC;AAC1I,OAAO,mBAAmB,MAAM,+CAA+C,CAAC;AAChF,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,mBAAmB;IAMrC,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,KAAK,EAAE,EAAE;iBACc;aAC1B,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAqC,CAAC;QAC5F,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEkB,WAAW,CAAC,CAAQ;QACrC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AA/C6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAA0D","sourcesContent":["import { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IBearerAuthorization, ApiDefinitions, IRequestAuthorization } from \"@api-client/core/build/browser.js\";\nimport BearerAuthorization from \"../../authorization/ui/BearerAuthorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\n\nexport default class AmfBearer extends BearerAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'bearer',\n valid: false,\n config: {\n token: '',\n } as IBearerAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const auth = this.ensureConfig();\n const { security } = this;\n if (!security) {\n return;\n }\n const restore = InputCache.get(this, security.id, true) as IBearerAuthorization | undefined;\n if (!restore) {\n return;\n }\n auth.config = restore;\n this.requestUpdate();\n }\n\n protected override handleToken(e: Event): void {\n super.handleToken(e);\n const { security } = this;\n if (!security) {\n return;\n }\n const auth = this.ensureConfig();\n InputCache.set(this, security.id, auth.config, true);\n }\n}\n"]}
@@ -9,19 +9,6 @@ import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
9
9
  import { Oauth2RamlCustomData } from "../../../amf/lib/Oauth2RamlCustomData.js";
10
10
  import { AmfInputParser } from "../../../amf/lib/AmfInputParser.js";
11
11
  export default class AmfOauth2 extends OAuth2Authorization {
12
- /**
13
- * The in-memory key where the values are stored.
14
- */
15
- security;
16
- /**
17
- * @attribute
18
- */
19
- overrideAuthorizationUri;
20
- /**
21
- * @attribute
22
- */
23
- overrideAccessTokenUri;
24
- amfParameters;
25
12
  constructor() {
26
13
  super();
27
14
  this.amfParameters = new AmfParameters(this);
@@ -1 +1 @@
1
- {"version":3,"file":"AmfOauth2.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOauth2.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { html, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IOAuth2Authorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, OAuth2DeliveryMethod, IOauth2GrantType, AmfShapes, IApiCustomDomainProperty, IOAuth2CustomParameter } from \"@api-client/core/build/browser.js\";\nimport OAuth2Authorization, { oauth2GrantTypes } from \"../../authorization/ui/OAuth2Authorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport { Oauth2RamlCustomData } from \"../../../amf/lib/Oauth2RamlCustomData.js\";\nimport { OperationParameter } from \"../../../amf/types.js\";\nimport { AmfInputParser, BindingType } from \"../../../amf/lib/AmfInputParser.js\";\n\nexport default class AmfOauth2 extends OAuth2Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAuthorizationUri?: string;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAccessTokenUri?: string;\n\n protected amfParameters: AmfParameters;\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: 'oauth 2',\n valid: false,\n config: {\n } as IOAuth2Authorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n \n if (!security) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n if (!security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { type } = scheme;\n if (!type || type !== 'OAuth 2.0') {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n this.setupOAuthDeliveryMethod(scheme);\n const config = scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n if (!config) {\n return;\n }\n this.preFillAmfData(config);\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n override serialize(): IOAuth2Authorization {\n const result = super.serialize() as IOAuth2Authorization;\n result.customData = {\n auth: {},\n token: {},\n };\n if (result.grantType === 'application') {\n result.grantType = 'client_credentials'\n }\n const { grantType } = result;\n switch (grantType) {\n case 'implicit':\n this.computeAuthCustomData(result);\n break;\n case 'authorization_code':\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n case 'client_credentials':\n case 'password':\n this.computeTokenCustomData(result);\n break;\n default:\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n }\n return result;\n }\n\n setupOAuthDeliveryMethod(scheme?: ApiDefinitions.IApiSecurityScheme): void {\n const info = this.getOauth2DeliveryMethod(scheme);\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n if (config.deliveryMethod !== info.method) {\n config.deliveryMethod = info.method as OAuth2DeliveryMethod;\n }\n if (config.deliveryName !== info.name) {\n config.deliveryName = info.name;\n }\n }\n\n /**\n * Determines placement of OAuth authorization token location.\n * It can be either query parameter or header. This function\n * reads API spec to get this information or provides default if\n * not specifies.\n *\n * @param info Security AMF model\n */\n getOauth2DeliveryMethod(info?: ApiDefinitions.IApiSecurityScheme): { method: string, name: string } {\n const result = {\n method: 'header',\n name: 'authorization'\n };\n if (!info) {\n return result;\n }\n if (Array.isArray(info.headers) && info.headers.length) {\n const [header] = info.headers;\n result.name = header.name as string;\n return result;\n }\n if (Array.isArray(info.queryParameters) && info.queryParameters.length) {\n const [param] = info.queryParameters;\n result.name = param.name as string;\n result.method = 'query';\n return result;\n }\n return result;\n }\n\n /**\n * Updates list of OAuth grant types supported by current endpoint.\n * The information should be available in RAML file.\n *\n * @param supportedTypes List of supported types. If empty\n * or not set then all available types will be displayed.\n */\n updateGrantTypes(supportedTypes?: string[]): void {\n const available = this.computeGrantList(supportedTypes);\n this.grantTypes = available;\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n // check if current selection is still available\n const current = config.grantType;\n const hasCurrent = current ?\n available.some((item) => item.type === current) : false;\n if (!hasCurrent) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else if (available.length === 1) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else {\n this.applyFlow(current);\n }\n }\n\n /**\n * Computes list of grant types to render in the form.\n *\n * @param allowed List of types allowed by the\n * component configuration or API spec applied to this element. If empty\n * or not set then all OAuth 2.0 default types are returned.\n */\n computeGrantList(allowed?: string[]): IOauth2GrantType[] {\n let defaults = Array.from(oauth2GrantTypes);\n if (!allowed || !allowed.length) {\n return defaults;\n }\n // eslint-disable-next-line no-param-reassign\n allowed = Array.from(allowed);\n for (let i = defaults.length - 1; i >= 0; i--) {\n const index = allowed.indexOf(defaults[i].type);\n if (index === -1) {\n defaults.splice(i, 1);\n } else {\n allowed.splice(index, 1);\n }\n }\n if (allowed.length) {\n const mapped: IOauth2GrantType[] = allowed.map((item) => ({\n label: item,\n type: item\n }));\n defaults = defaults.concat(mapped);\n }\n return defaults;\n }\n\n /**\n * It's quite a bit naive approach to determine whether given model is RAML's\n * or OAS'. There is a significant difference of how to treat grant types\n * (in OAS it is called flows). While in OAS it is mandatory to define a grant type\n * (a flow) RAML has no such requirement. By default this component assumes that\n * all standard (OAuth 2 defined) grant types are supported when grant types are not\n * defined. So it is possible to not define them and the component will work.\n * However, in the AMF model there's always at least one grant type (a flow) whether\n * it's RAML's or OAS' and whether grant type is defined or not.\n *\n * To apply correct settings this component needs to know how to process the data.\n * If it's OAS then when changing grant type it also changes current settings\n * (like scopes, auth uri, etc). If the model is RAML's then change in current grant type\n * won't trigger settings setup.\n *\n * Note, this function returns true when there's no flows whatsoever. It's not\n * really what it means but it is consistent with component's logic.\n *\n * Current method is deterministic and when AMF model change this most probably stop\n * working. It tests whether there's a single grant type and this grant type\n * has no AMF's `security:flow` property.\n *\n * @param flows List of current flows loaded with the AMF model.\n * @returns True if current model should be treated as RAML's model.\n */\n isRamlFlow(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): boolean {\n if (!Array.isArray(flows)) {\n return true;\n }\n let result = false;\n if (flows.length === 1) {\n const type = flows[0].flow;\n if (!type) {\n result = true;\n }\n }\n return result;\n }\n\n /**\n * Reads API security definition and applies in to the view as predefined\n * values.\n *\n * @param model AMF model describing settings of the security\n * scheme\n */\n preFillAmfData(model: ApiDefinitions.IApiSecurityOAuth2Settings): void {\n if (!model) {\n return;\n }\n const { flows, authorizationGrants } = model;\n if (Array.isArray(flows) && !this.isRamlFlow(flows)) {\n this.preFillFlowData(flows);\n return;\n }\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n const [flow] = flows;\n config.authorizationUri = this.overrideAuthorizationUri || flow.authorizationUri;\n config.accessTokenUri = this.overrideAccessTokenUri || flow.accessTokenUri || '';\n config.scopes = (flow.scopes || []).map(s => s.name) as string[];\n\n const settingsExtension = this.findOauth2CustomSettings(model);\n const grants = this.computeGrants(settingsExtension, authorizationGrants);\n\n if (grants.length) {\n const index = grants.indexOf('code');\n if (index !== -1) {\n grants[index] = 'authorization_code';\n }\n this.updateGrantTypes(grants);\n } else {\n this.updateGrantTypes();\n }\n this.setupAnnotationParameters(settingsExtension);\n config.pkce = this.readPkceValue(model) || false;\n }\n\n /**\n * API console supports an annotation with additional settings form the OAuth2 authorization\n * defined in https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * This reads (RAML) annotations to build the UI for these settings.\n *\n * @param model AMF model describing settings of the security scheme\n * @returns The extension definition or null\n */\n findOauth2CustomSettings(model: ApiDefinitions.IApiSecurityOAuth2Settings): IApiCustomDomainProperty | undefined {\n const { customDomainProperties = [] } = model;\n const properties = ['accessTokenSettings', 'authorizationGrants', 'authorizationSettings'];\n return customDomainProperties.find((prop) => {\n const node = prop.extension as AmfShapes.IApiObjectNode;\n if (!node.properties || !node.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return false;\n }\n return Object.keys(node.properties).some(name => properties.includes(name));\n });\n }\n\n /**\n * Computes the final list of authorization grants defined in the spec and with applied annotation defined in\n * https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * @param grans The API spec annotation grants\n * @param customProperty The domain extension with the custom data\n * @returns The list of authorization grants to apply to the current operation.\n */\n computeGrants(customProperty?: IApiCustomDomainProperty, grans: string[] = []): string[] {\n if (!customProperty || !customProperty.extension || !customProperty.extension.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return grans;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n if (!typed.properties.authorizationGrants) {\n return grans;\n }\n const array = typed.properties.authorizationGrants as AmfShapes.IApiArrayNode;\n const addedGrants: string[] = [];\n array.members.forEach((g) => {\n if (!g.types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return;\n }\n const scalar = g as AmfShapes.IApiScalarNode;\n if (scalar.value) {\n addedGrants.push(scalar.value);\n }\n });\n let result = grans;\n if (typed.properties.ignoreDefaultGrants) {\n result = [];\n }\n result = result.concat(addedGrants);\n return result;\n }\n\n /**\n * Pre-fills authorization data with OAS' definition of a grant type\n * which they call a flow. This method populates form with the information\n * find in the model.\n *\n * It tries to match a flow to currently selected `grantType`. When no match\n * then it takes first flow.\n *\n * Note, flow data are applied when `grantType` change.\n *\n * @param flows List of flows in the authorization description.\n */\n preFillFlowData(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): void {\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n // first step is to select the right flow.\n // If the user already selected a grant type before then it this looks\n // for a flow for already selected grant type. If its not present then\n // it uses first available flow.\n let flow = this.flowForType(flows, config.grantType);\n if (!flow) {\n [flow] = flows;\n }\n // finally sets grant types from flows\n const grantTypes = this.readFlowsTypes(flows);\n this.updateGrantTypes(grantTypes);\n }\n\n /**\n * Searches for a flow in the list of flows for given name.\n *\n * @param flows List of flows to search in.\n * @param type Grant type\n */\n flowForType(flows: ApiDefinitions.IApiSecurityOAuth2Flow[], type?: string): ApiDefinitions.IApiSecurityOAuth2Flow | undefined {\n if (!type) {\n return undefined;\n }\n for (let i = 0, len = flows.length; i < len; i++) {\n const flow = flows[i];\n if (flow.flow === type) {\n // true for `implicit`, `password`\n return flow;\n }\n if (type === 'authorization_code' && flow.flow === 'authorizationCode') {\n return flow;\n }\n if (type === 'client_credentials' && flow.flow === 'clientCredentials') {\n return flow;\n }\n }\n return undefined;\n }\n\n /**\n * Reads list of scopes from a flow.\n *\n * @param flow A flow to process.\n * @returns List of scopes required by an endpoint / API.\n */\n readFlowScopes(flow: ApiDefinitions.IApiSecurityOAuth2Flow): string[] | undefined {\n const { security } = this;\n let scopes = this.readSecurityScopes(flow.scopes);\n if (scopes || !security) {\n return scopes;\n }\n // if scopes are not defined in the operation then they may be defined in\n // security settings.\n const config = security.scheme && security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings | undefined;\n if (!config || !config.flows) {\n return undefined;\n }\n const [mainFlow] = config.flows;\n if (mainFlow) {\n scopes = this.readSecurityScopes(mainFlow.scopes);\n }\n return scopes;\n }\n\n /**\n * Reads list of grant types from the list of flows.\n *\n * @param flows List of flows to process.\n * @returns Grant types supported by this authorization.\n */\n readFlowsTypes(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): string[] {\n const grants: string[] = [];\n flows.forEach((flow) => {\n let type = flow.flow;\n if (!type) {\n return;\n }\n if (type === 'authorizationCode') {\n type = 'authorization_code';\n } else if (type === 'clientCredentials') {\n type = 'client_credentials';\n }\n grants[grants.length] = type;\n });\n return grants;\n }\n\n /**\n * Applies settings from a flow to current properties.\n * OAS' flows may define different configuration for each flow.\n * This function is called each time a grant type change. If current settings\n * does not contain flows then this is ignored.\n *\n * @param name Set grant type\n */\n applyFlow(name?: string): void {\n if (!name) {\n return;\n }\n const { security } = this;\n if (!security || !security.scheme || !security.scheme.settings) {\n return;\n }\n const config = security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n const { flows } = config;\n if (!Array.isArray(flows) || this.isRamlFlow(flows)) {\n return;\n }\n if (name === 'client_credentials') {\n name = 'clientCredentials';\n } else if (name === 'authorization_code') {\n name = 'authorizationCode';\n }\n const auth = this.ensureConfig();\n const authConfig = auth.config as IOAuth2Authorization;\n const flow = flows.find(team => team.flow === name);\n // sets basic oauth properties.\n authConfig.scopes = (flow ? this.readFlowScopes(flow) : []) as string[];\n authConfig.authorizationUri = this.overrideAuthorizationUri || flow && flow.authorizationUri || '';\n authConfig.accessTokenUri = this.overrideAccessTokenUri || flow && flow.accessTokenUri || '';\n }\n\n /**\n * Extracts scopes list from the security definition\n */\n readSecurityScopes(scopes: ApiDefinitions.IApiSecurityScope[]): string[] | undefined {\n if (!scopes) {\n return undefined;\n }\n const result = scopes.map(s => s.name).filter(s => !!s) as string[];\n if (!result.length) {\n return undefined;\n }\n return result;\n }\n\n /**\n * Checks whether the security scheme is annotated with the `pkce` annotation.\n * This annotation is published at https://github.com/raml-org/raml-annotations/tree/master/annotations/security-schemes\n * @param model Model for the security settings\n * @returns True if the security settings are annotated with PKCE extension\n */\n readPkceValue(model: ApiDefinitions.IApiSecurityOAuth2Settings): boolean | undefined {\n const { customDomainProperties } = model;\n if (!Array.isArray(customDomainProperties) || !customDomainProperties.length) {\n return undefined;\n }\n const pkce = customDomainProperties.find(e => e.name === 'pkce');\n if (!pkce) {\n return undefined;\n }\n const info = pkce.extension as AmfShapes.IApiScalarNode;\n if (info.dataType === AmfNamespace.w3.xmlSchema.boolean) {\n return info.value === 'true';\n }\n return undefined;\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * authorization request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeAuthCustomData(detail: IOAuth2Authorization): void {\n const all = this.amfParameters.parametersValue;\n const params = all.filter(p => p.binding === 'authQuery');\n if (params.length) {\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.auth) {\n detail.customData.auth = {};\n }\n detail.customData.auth.parameters = this.computeCustomParameters(params, 'authQuery');\n }\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * token request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeTokenCustomData(detail: IOAuth2Authorization): void {\n const params = this.amfParameters.parametersValue;\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (tqp.length) {\n detail.customData.token.parameters = this.computeCustomParameters(tqp, 'tokenQuery');\n }\n if (th.length) {\n detail.customData.token.headers = this.computeCustomParameters(th, 'tokenHeader');\n }\n if (tb.length) {\n detail.customData.token.body = this.computeCustomParameters(tb, 'tokenBody');\n }\n }\n\n /**\n * Sets up annotation supported variables to apply form view for:\n * - authorization query parameters\n * - authorization headers\n * - token query parameters\n * - token headers\n * - token body\n *\n * @param customProperty Annotation applied to the OAuth settings\n */\n setupAnnotationParameters(customProperty?: IApiCustomDomainProperty): void {\n this.amfParameters.parametersValue = [];\n /* istanbul ignore if */\n if (!customProperty || !customProperty.extension) {\n return;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n const authSettings = (typed.properties.authorizationSettings as AmfShapes.IApiObjectNode | undefined);\n const tokenSettings = (typed.properties.accessTokenSettings as AmfShapes.IApiObjectNode | undefined);\n if (authSettings) {\n const qp = (authSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupAuthRequestQueryParameters(qp.properties);\n }\n }\n if (tokenSettings) {\n const qp = (tokenSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n const headerParams = (tokenSettings.properties.headers as AmfShapes.IApiObjectNode | undefined);\n const bodyParams = (tokenSettings.properties.body as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupTokenRequestQueryParameters(qp.properties);\n }\n if (headerParams && headerParams.properties) {\n this.setupTokenRequestHeaders(headerParams.properties);\n }\n if (bodyParams && bodyParams.properties) {\n this.setupTokenRequestBody(bodyParams.properties);\n }\n }\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: string): void {\n const params = this.amfParameters.parametersValue;\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: { ...param, binding: source },\n binding: source,\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n }\n\n /**\n * Sets up query parameters to be used with authorization request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupAuthRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'authQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up query parameters to be used with token request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupTokenRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up headers to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestHeaders(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenHeader';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up body parameters to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestBody(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenBody';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Computes list of parameter values from current model.\n *\n * This function ignores empty values if they are not required.\n * Required property are always included, even if the value is not set.\n *\n * @param params Model for form inputs.\n * @param reportKey The key name in the report.\n * @returns Array of objects with `name` and `value` properties or undefined if `params` is empty or no values are available.\n */\n computeCustomParameters(params: OperationParameter[], reportKey: keyof BindingType): IOAuth2CustomParameter[] {\n const result: IOAuth2CustomParameter[] = [];\n const report = AmfInputParser.reportRequestInputs(params.map(p => p.parameter), InputCache.getStore(this, true), this.amfParameters.nilValues);\n const values = report[reportKey];\n if (!values) {\n return result;\n }\n Object.keys(values).forEach((key) => {\n const value = values[key];\n const info = params.find(p => p.parameter.name === key) as OperationParameter;\n if (info.parameter.required !== true) {\n const type = typeof value;\n if (type === 'number') {\n if (!value && value !== 0) {\n return;\n }\n }\n if (type === 'string') {\n if (!value) {\n return;\n }\n }\n if (Array.isArray(value)) {\n if (!value[0]) {\n return;\n }\n }\n if (type === 'undefined') {\n return;\n }\n }\n result.push({\n name: key,\n value: value || ''\n });\n });\n return result;\n }\n\n override renderCustomProperties(): TemplateResult {\n const params = this.amfParameters.parametersValue;\n const aqp = params.filter(p => p.binding === 'authQuery');\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n return html`\n ${aqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Authorization request query parameters</span></div>\n ${aqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request query parameters</span></div>\n ${tqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${th.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request headers</span></div>\n ${th.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tb.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request body</span></div>\n ${tb.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AmfOauth2.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOauth2.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { html, PropertyValues, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { RequestAuthorizationKind, IOAuth2Authorization, ApiDefinitions, IRequestAuthorization, AmfNamespace, OAuth2DeliveryMethod, IOauth2GrantType, AmfShapes, IApiCustomDomainProperty, IOAuth2CustomParameter } from \"@api-client/core/build/browser.js\";\nimport OAuth2Authorization, { oauth2GrantTypes } from \"../../authorization/ui/OAuth2Authorization.js\";\nimport * as InputCache from '../../../amf/lib/InputCache.js';\nimport { AmfParameters } from \"../../../amf/lib/AmfParameters.js\";\nimport { Oauth2RamlCustomData } from \"../../../amf/lib/Oauth2RamlCustomData.js\";\nimport { OperationParameter } from \"../../../amf/types.js\";\nimport { AmfInputParser, BindingType } from \"../../../amf/lib/AmfInputParser.js\";\n\nexport default class AmfOauth2 extends OAuth2Authorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAuthorizationUri?: string;\n\n /**\n * @attribute\n */\n @property({ type: String }) overrideAccessTokenUri?: string;\n\n protected amfParameters: AmfParameters;\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: 'oauth 2',\n valid: false,\n config: {\n } as IOAuth2Authorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n \n if (!security) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n if (!security.types.includes(AmfNamespace.aml.vocabularies.security.ParametrizedSecurityScheme)) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { scheme } = security;\n if (!scheme) {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n const { type } = scheme;\n if (!type || type !== 'OAuth 2.0') {\n this.setupOAuthDeliveryMethod();\n this.updateGrantTypes();\n return;\n }\n this.setupOAuthDeliveryMethod(scheme);\n const config = scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n if (!config) {\n return;\n }\n this.preFillAmfData(config);\n this.notifyChange();\n this.requestUpdate();\n auth.config = this.serialize();\n }\n\n override serialize(): IOAuth2Authorization {\n const result = super.serialize() as IOAuth2Authorization;\n result.customData = {\n auth: {},\n token: {},\n };\n if (result.grantType === 'application') {\n result.grantType = 'client_credentials'\n }\n const { grantType } = result;\n switch (grantType) {\n case 'implicit':\n this.computeAuthCustomData(result);\n break;\n case 'authorization_code':\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n case 'client_credentials':\n case 'password':\n this.computeTokenCustomData(result);\n break;\n default:\n this.computeAuthCustomData(result);\n this.computeTokenCustomData(result);\n break;\n }\n return result;\n }\n\n setupOAuthDeliveryMethod(scheme?: ApiDefinitions.IApiSecurityScheme): void {\n const info = this.getOauth2DeliveryMethod(scheme);\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n if (config.deliveryMethod !== info.method) {\n config.deliveryMethod = info.method as OAuth2DeliveryMethod;\n }\n if (config.deliveryName !== info.name) {\n config.deliveryName = info.name;\n }\n }\n\n /**\n * Determines placement of OAuth authorization token location.\n * It can be either query parameter or header. This function\n * reads API spec to get this information or provides default if\n * not specifies.\n *\n * @param info Security AMF model\n */\n getOauth2DeliveryMethod(info?: ApiDefinitions.IApiSecurityScheme): { method: string, name: string } {\n const result = {\n method: 'header',\n name: 'authorization'\n };\n if (!info) {\n return result;\n }\n if (Array.isArray(info.headers) && info.headers.length) {\n const [header] = info.headers;\n result.name = header.name as string;\n return result;\n }\n if (Array.isArray(info.queryParameters) && info.queryParameters.length) {\n const [param] = info.queryParameters;\n result.name = param.name as string;\n result.method = 'query';\n return result;\n }\n return result;\n }\n\n /**\n * Updates list of OAuth grant types supported by current endpoint.\n * The information should be available in RAML file.\n *\n * @param supportedTypes List of supported types. If empty\n * or not set then all available types will be displayed.\n */\n updateGrantTypes(supportedTypes?: string[]): void {\n const available = this.computeGrantList(supportedTypes);\n this.grantTypes = available;\n \n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n\n // check if current selection is still available\n const current = config.grantType;\n const hasCurrent = current ?\n available.some((item) => item.type === current) : false;\n if (!hasCurrent) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else if (available.length === 1) {\n config.grantType = available[0].type;\n this.applyFlow();\n } else {\n this.applyFlow(current);\n }\n }\n\n /**\n * Computes list of grant types to render in the form.\n *\n * @param allowed List of types allowed by the\n * component configuration or API spec applied to this element. If empty\n * or not set then all OAuth 2.0 default types are returned.\n */\n computeGrantList(allowed?: string[]): IOauth2GrantType[] {\n let defaults = Array.from(oauth2GrantTypes);\n if (!allowed || !allowed.length) {\n return defaults;\n }\n // eslint-disable-next-line no-param-reassign\n allowed = Array.from(allowed);\n for (let i = defaults.length - 1; i >= 0; i--) {\n const index = allowed.indexOf(defaults[i].type);\n if (index === -1) {\n defaults.splice(i, 1);\n } else {\n allowed.splice(index, 1);\n }\n }\n if (allowed.length) {\n const mapped: IOauth2GrantType[] = allowed.map((item) => ({\n label: item,\n type: item\n }));\n defaults = defaults.concat(mapped);\n }\n return defaults;\n }\n\n /**\n * It's quite a bit naive approach to determine whether given model is RAML's\n * or OAS'. There is a significant difference of how to treat grant types\n * (in OAS it is called flows). While in OAS it is mandatory to define a grant type\n * (a flow) RAML has no such requirement. By default this component assumes that\n * all standard (OAuth 2 defined) grant types are supported when grant types are not\n * defined. So it is possible to not define them and the component will work.\n * However, in the AMF model there's always at least one grant type (a flow) whether\n * it's RAML's or OAS' and whether grant type is defined or not.\n *\n * To apply correct settings this component needs to know how to process the data.\n * If it's OAS then when changing grant type it also changes current settings\n * (like scopes, auth uri, etc). If the model is RAML's then change in current grant type\n * won't trigger settings setup.\n *\n * Note, this function returns true when there's no flows whatsoever. It's not\n * really what it means but it is consistent with component's logic.\n *\n * Current method is deterministic and when AMF model change this most probably stop\n * working. It tests whether there's a single grant type and this grant type\n * has no AMF's `security:flow` property.\n *\n * @param flows List of current flows loaded with the AMF model.\n * @returns True if current model should be treated as RAML's model.\n */\n isRamlFlow(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): boolean {\n if (!Array.isArray(flows)) {\n return true;\n }\n let result = false;\n if (flows.length === 1) {\n const type = flows[0].flow;\n if (!type) {\n result = true;\n }\n }\n return result;\n }\n\n /**\n * Reads API security definition and applies in to the view as predefined\n * values.\n *\n * @param model AMF model describing settings of the security\n * scheme\n */\n preFillAmfData(model: ApiDefinitions.IApiSecurityOAuth2Settings): void {\n if (!model) {\n return;\n }\n const { flows, authorizationGrants } = model;\n if (Array.isArray(flows) && !this.isRamlFlow(flows)) {\n this.preFillFlowData(flows);\n return;\n }\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n const [flow] = flows;\n config.authorizationUri = this.overrideAuthorizationUri || flow.authorizationUri;\n config.accessTokenUri = this.overrideAccessTokenUri || flow.accessTokenUri || '';\n config.scopes = (flow.scopes || []).map(s => s.name) as string[];\n\n const settingsExtension = this.findOauth2CustomSettings(model);\n const grants = this.computeGrants(settingsExtension, authorizationGrants);\n\n if (grants.length) {\n const index = grants.indexOf('code');\n if (index !== -1) {\n grants[index] = 'authorization_code';\n }\n this.updateGrantTypes(grants);\n } else {\n this.updateGrantTypes();\n }\n this.setupAnnotationParameters(settingsExtension);\n config.pkce = this.readPkceValue(model) || false;\n }\n\n /**\n * API console supports an annotation with additional settings form the OAuth2 authorization\n * defined in https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * This reads (RAML) annotations to build the UI for these settings.\n *\n * @param model AMF model describing settings of the security scheme\n * @returns The extension definition or null\n */\n findOauth2CustomSettings(model: ApiDefinitions.IApiSecurityOAuth2Settings): IApiCustomDomainProperty | undefined {\n const { customDomainProperties = [] } = model;\n const properties = ['accessTokenSettings', 'authorizationGrants', 'authorizationSettings'];\n return customDomainProperties.find((prop) => {\n const node = prop.extension as AmfShapes.IApiObjectNode;\n if (!node.properties || !node.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return false;\n }\n return Object.keys(node.properties).some(name => properties.includes(name));\n });\n }\n\n /**\n * Computes the final list of authorization grants defined in the spec and with applied annotation defined in\n * https://github.com/raml-org/raml-annotations/blob/master/annotations/security-schemes/oauth-2-custom-settings.raml\n * \n * @param grans The API spec annotation grants\n * @param customProperty The domain extension with the custom data\n * @returns The list of authorization grants to apply to the current operation.\n */\n computeGrants(customProperty?: IApiCustomDomainProperty, grans: string[] = []): string[] {\n if (!customProperty || !customProperty.extension || !customProperty.extension.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {\n return grans;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n if (!typed.properties.authorizationGrants) {\n return grans;\n }\n const array = typed.properties.authorizationGrants as AmfShapes.IApiArrayNode;\n const addedGrants: string[] = [];\n array.members.forEach((g) => {\n if (!g.types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {\n return;\n }\n const scalar = g as AmfShapes.IApiScalarNode;\n if (scalar.value) {\n addedGrants.push(scalar.value);\n }\n });\n let result = grans;\n if (typed.properties.ignoreDefaultGrants) {\n result = [];\n }\n result = result.concat(addedGrants);\n return result;\n }\n\n /**\n * Pre-fills authorization data with OAS' definition of a grant type\n * which they call a flow. This method populates form with the information\n * find in the model.\n *\n * It tries to match a flow to currently selected `grantType`. When no match\n * then it takes first flow.\n *\n * Note, flow data are applied when `grantType` change.\n *\n * @param flows List of flows in the authorization description.\n */\n preFillFlowData(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): void {\n const auth = this.ensureConfig();\n const config = auth.config as IOAuth2Authorization;\n // first step is to select the right flow.\n // If the user already selected a grant type before then it this looks\n // for a flow for already selected grant type. If its not present then\n // it uses first available flow.\n let flow = this.flowForType(flows, config.grantType);\n if (!flow) {\n [flow] = flows;\n }\n // finally sets grant types from flows\n const grantTypes = this.readFlowsTypes(flows);\n this.updateGrantTypes(grantTypes);\n }\n\n /**\n * Searches for a flow in the list of flows for given name.\n *\n * @param flows List of flows to search in.\n * @param type Grant type\n */\n flowForType(flows: ApiDefinitions.IApiSecurityOAuth2Flow[], type?: string): ApiDefinitions.IApiSecurityOAuth2Flow | undefined {\n if (!type) {\n return undefined;\n }\n for (let i = 0, len = flows.length; i < len; i++) {\n const flow = flows[i];\n if (flow.flow === type) {\n // true for `implicit`, `password`\n return flow;\n }\n if (type === 'authorization_code' && flow.flow === 'authorizationCode') {\n return flow;\n }\n if (type === 'client_credentials' && flow.flow === 'clientCredentials') {\n return flow;\n }\n }\n return undefined;\n }\n\n /**\n * Reads list of scopes from a flow.\n *\n * @param flow A flow to process.\n * @returns List of scopes required by an endpoint / API.\n */\n readFlowScopes(flow: ApiDefinitions.IApiSecurityOAuth2Flow): string[] | undefined {\n const { security } = this;\n let scopes = this.readSecurityScopes(flow.scopes);\n if (scopes || !security) {\n return scopes;\n }\n // if scopes are not defined in the operation then they may be defined in\n // security settings.\n const config = security.scheme && security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings | undefined;\n if (!config || !config.flows) {\n return undefined;\n }\n const [mainFlow] = config.flows;\n if (mainFlow) {\n scopes = this.readSecurityScopes(mainFlow.scopes);\n }\n return scopes;\n }\n\n /**\n * Reads list of grant types from the list of flows.\n *\n * @param flows List of flows to process.\n * @returns Grant types supported by this authorization.\n */\n readFlowsTypes(flows: ApiDefinitions.IApiSecurityOAuth2Flow[]): string[] {\n const grants: string[] = [];\n flows.forEach((flow) => {\n let type = flow.flow;\n if (!type) {\n return;\n }\n if (type === 'authorizationCode') {\n type = 'authorization_code';\n } else if (type === 'clientCredentials') {\n type = 'client_credentials';\n }\n grants[grants.length] = type;\n });\n return grants;\n }\n\n /**\n * Applies settings from a flow to current properties.\n * OAS' flows may define different configuration for each flow.\n * This function is called each time a grant type change. If current settings\n * does not contain flows then this is ignored.\n *\n * @param name Set grant type\n */\n applyFlow(name?: string): void {\n if (!name) {\n return;\n }\n const { security } = this;\n if (!security || !security.scheme || !security.scheme.settings) {\n return;\n }\n const config = security.scheme.settings as ApiDefinitions.IApiSecurityOAuth2Settings;\n const { flows } = config;\n if (!Array.isArray(flows) || this.isRamlFlow(flows)) {\n return;\n }\n if (name === 'client_credentials') {\n name = 'clientCredentials';\n } else if (name === 'authorization_code') {\n name = 'authorizationCode';\n }\n const auth = this.ensureConfig();\n const authConfig = auth.config as IOAuth2Authorization;\n const flow = flows.find(team => team.flow === name);\n // sets basic oauth properties.\n authConfig.scopes = (flow ? this.readFlowScopes(flow) : []) as string[];\n authConfig.authorizationUri = this.overrideAuthorizationUri || flow && flow.authorizationUri || '';\n authConfig.accessTokenUri = this.overrideAccessTokenUri || flow && flow.accessTokenUri || '';\n }\n\n /**\n * Extracts scopes list from the security definition\n */\n readSecurityScopes(scopes: ApiDefinitions.IApiSecurityScope[]): string[] | undefined {\n if (!scopes) {\n return undefined;\n }\n const result = scopes.map(s => s.name).filter(s => !!s) as string[];\n if (!result.length) {\n return undefined;\n }\n return result;\n }\n\n /**\n * Checks whether the security scheme is annotated with the `pkce` annotation.\n * This annotation is published at https://github.com/raml-org/raml-annotations/tree/master/annotations/security-schemes\n * @param model Model for the security settings\n * @returns True if the security settings are annotated with PKCE extension\n */\n readPkceValue(model: ApiDefinitions.IApiSecurityOAuth2Settings): boolean | undefined {\n const { customDomainProperties } = model;\n if (!Array.isArray(customDomainProperties) || !customDomainProperties.length) {\n return undefined;\n }\n const pkce = customDomainProperties.find(e => e.name === 'pkce');\n if (!pkce) {\n return undefined;\n }\n const info = pkce.extension as AmfShapes.IApiScalarNode;\n if (info.dataType === AmfNamespace.w3.xmlSchema.boolean) {\n return info.value === 'true';\n }\n return undefined;\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * authorization request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeAuthCustomData(detail: IOAuth2Authorization): void {\n const all = this.amfParameters.parametersValue;\n const params = all.filter(p => p.binding === 'authQuery');\n if (params.length) {\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.auth) {\n detail.customData.auth = {};\n }\n detail.customData.auth.parameters = this.computeCustomParameters(params, 'authQuery');\n }\n }\n\n /**\n * Adds `customData` property values that can be applied to the\n * token request.\n *\n * @param detail Token request detail object. The object is passed\n * by reference so no need for return value\n */\n computeTokenCustomData(detail: IOAuth2Authorization): void {\n const params = this.amfParameters.parametersValue;\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n if (!detail.customData) {\n detail.customData = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (!detail.customData.token) {\n detail.customData.token = {};\n }\n if (tqp.length) {\n detail.customData.token.parameters = this.computeCustomParameters(tqp, 'tokenQuery');\n }\n if (th.length) {\n detail.customData.token.headers = this.computeCustomParameters(th, 'tokenHeader');\n }\n if (tb.length) {\n detail.customData.token.body = this.computeCustomParameters(tb, 'tokenBody');\n }\n }\n\n /**\n * Sets up annotation supported variables to apply form view for:\n * - authorization query parameters\n * - authorization headers\n * - token query parameters\n * - token headers\n * - token body\n *\n * @param customProperty Annotation applied to the OAuth settings\n */\n setupAnnotationParameters(customProperty?: IApiCustomDomainProperty): void {\n this.amfParameters.parametersValue = [];\n /* istanbul ignore if */\n if (!customProperty || !customProperty.extension) {\n return;\n }\n const typed = customProperty.extension as AmfShapes.IApiObjectNode;\n const authSettings = (typed.properties.authorizationSettings as AmfShapes.IApiObjectNode | undefined);\n const tokenSettings = (typed.properties.accessTokenSettings as AmfShapes.IApiObjectNode | undefined);\n if (authSettings) {\n const qp = (authSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupAuthRequestQueryParameters(qp.properties);\n }\n }\n if (tokenSettings) {\n const qp = (tokenSettings.properties.queryParameters as AmfShapes.IApiObjectNode | undefined);\n const headerParams = (tokenSettings.properties.headers as AmfShapes.IApiObjectNode | undefined);\n const bodyParams = (tokenSettings.properties.body as AmfShapes.IApiObjectNode | undefined);\n if (qp && qp.properties) {\n this.setupTokenRequestQueryParameters(qp.properties);\n }\n if (headerParams && headerParams.properties) {\n this.setupTokenRequestHeaders(headerParams.properties);\n }\n if (bodyParams && bodyParams.properties) {\n this.setupTokenRequestBody(bodyParams.properties);\n }\n }\n }\n\n /**\n * Appends a list of parameters to the list of rendered parameters\n */\n appendToParams(list: ApiDefinitions.IApiParameter[], source: string): void {\n const params = this.amfParameters.parametersValue;\n if (Array.isArray(list)) {\n list.forEach((param) => {\n params.push({\n paramId: param.id,\n parameter: { ...param, binding: source },\n binding: source,\n source,\n schema: param.schema,\n schemaId: param.schema && param.schema.id ? param.schema.id : undefined,\n });\n });\n }\n }\n\n /**\n * Sets up query parameters to be used with authorization request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupAuthRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'authQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up query parameters to be used with token request.\n *\n * @param properties List of parameters from the annotation.\n */\n setupTokenRequestQueryParameters(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenQuery';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up headers to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestHeaders(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenHeader';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Sets up body parameters to be used with token request.\n *\n * @param properties params List of parameters from the annotation.\n */\n setupTokenRequestBody(properties: { [key: string]: AmfShapes.IApiDataNodeUnion }): void {\n const source = 'tokenBody';\n this.amfParameters.parametersValue = this.amfParameters.parametersValue.filter(item => item.source !== source);\n const factory = new Oauth2RamlCustomData();\n const items = factory.readParams(properties);\n this.appendToParams(items, source);\n }\n\n /**\n * Computes list of parameter values from current model.\n *\n * This function ignores empty values if they are not required.\n * Required property are always included, even if the value is not set.\n *\n * @param params Model for form inputs.\n * @param reportKey The key name in the report.\n * @returns Array of objects with `name` and `value` properties or undefined if `params` is empty or no values are available.\n */\n computeCustomParameters(params: OperationParameter[], reportKey: keyof BindingType): IOAuth2CustomParameter[] {\n const result: IOAuth2CustomParameter[] = [];\n const report = AmfInputParser.reportRequestInputs(params.map(p => p.parameter), InputCache.getStore(this, true), this.amfParameters.nilValues);\n const values = report[reportKey];\n if (!values) {\n return result;\n }\n Object.keys(values).forEach((key) => {\n const value = values[key];\n const info = params.find(p => p.parameter.name === key) as OperationParameter;\n if (info.parameter.required !== true) {\n const type = typeof value;\n if (type === 'number') {\n if (!value && value !== 0) {\n return;\n }\n }\n if (type === 'string') {\n if (!value) {\n return;\n }\n }\n if (Array.isArray(value)) {\n if (!value[0]) {\n return;\n }\n }\n if (type === 'undefined') {\n return;\n }\n }\n result.push({\n name: key,\n value: value || ''\n });\n });\n return result;\n }\n\n override renderCustomProperties(): TemplateResult {\n const params = this.amfParameters.parametersValue;\n const aqp = params.filter(p => p.binding === 'authQuery');\n const tqp = params.filter(p => p.binding === 'tokenQuery');\n const th = params.filter(p => p.binding === 'tokenHeader');\n const tb = params.filter(p => p.binding === 'tokenBody');\n return html`\n ${aqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Authorization request query parameters</span></div>\n ${aqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tqp.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request query parameters</span></div>\n ${tqp.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${th.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request headers</span></div>\n ${th.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n ${tb.length ? html`\n <section class=\"params-section\">\n <div class=\"section-title\"><span class=\"label\">Token request body</span></div>\n ${tb.map(param => this.amfParameters.parameterTemplate(param))}\n </section>\n ` : ''}\n `;\n }\n}\n"]}
@@ -3,10 +3,6 @@ import { RequestAuthorizationKind } from "@api-client/core/build/browser.js";
3
3
  import { property } from "lit/decorators.js";
4
4
  import OidcAuthorization from "../../authorization/ui/OidcAuthorization.js";
5
5
  export default class AmfOidc extends OidcAuthorization {
6
- /**
7
- * The in-memory key where the values are stored.
8
- */
9
- security;
10
6
  willUpdate(cp) {
11
7
  if (cp.has('security')) {
12
8
  this.restoreValues();
@@ -1 +1 @@
1
- {"version":3,"file":"AmfOidc.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6D,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAExI,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IACpD;;OAEG;IACyB,QAAQ,CAAiD;IAElE,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EACe;aACxB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAwE,CAAC;QACjG,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAA4B,CAAC;QAC9C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF;AAjD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAA0D","sourcesContent":["import { ApiDefinitions, IOidcAuthorization, IRequestAuthorization, RequestAuthorizationKind } from \"@api-client/core/build/browser.js\";\nimport { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport OidcAuthorization from \"../../authorization/ui/OidcAuthorization.js\";\n\nexport default class AmfOidc extends OidcAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOidcAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n\n if (!security) {\n return;\n }\n\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const settings = scheme.settings as ApiDefinitions.IApiSecurityOpenIdConnectSettings | undefined;\n if (!settings) {\n return;\n }\n const { url } = settings;\n const cnf = auth.config as IOidcAuthorization;\n cnf.issuerUri = url;\n if (url) {\n this.discover();\n }\n auth.config = this.serialize();\n this.notifyChange();\n }\n}\n"]}
1
+ {"version":3,"file":"AmfOidc.js","sourceRoot":"","sources":["../../../../src/elements/amf/authorization/AmfOidc.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6D,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAExI,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IAMjC,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,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EACe;aACxB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAwE,CAAC;QACjG,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAA4B,CAAC;QAC9C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF;AAjD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAA0D","sourcesContent":["import { ApiDefinitions, IOidcAuthorization, IRequestAuthorization, RequestAuthorizationKind } from \"@api-client/core/build/browser.js\";\nimport { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport OidcAuthorization from \"../../authorization/ui/OidcAuthorization.js\";\n\nexport default class AmfOidc extends OidcAuthorization {\n /**\n * The in-memory key where the values are stored.\n */\n @property({ type: Object }) security?: ApiDefinitions.IApiParametrizedSecurityScheme;\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 ensureConfig(): IRequestAuthorization {\n if (!this.authorization) {\n this.authorization = {\n enabled: true,\n kind: RequestAuthorizationKind,\n type: 'oauth 2',\n valid: false,\n config: {\n } as IOidcAuthorization,\n };\n }\n return this.authorization;\n }\n\n protected restoreValues(): void {\n const { security } = this;\n this.authorization = undefined;\n const auth = this.ensureConfig();\n\n if (!security) {\n return;\n }\n\n const { scheme } = security;\n if (!scheme) {\n return;\n }\n const settings = scheme.settings as ApiDefinitions.IApiSecurityOpenIdConnectSettings | undefined;\n if (!settings) {\n return;\n }\n const { url } = settings;\n const cnf = auth.config as IOidcAuthorization;\n cnf.issuerUri = url;\n if (url) {\n this.discover();\n }\n auth.config = this.serialize();\n this.notifyChange();\n }\n}\n"]}
@@ -6,12 +6,6 @@ import * as InputCache from '../../../amf/lib/InputCache.js';
6
6
  import { Authorization } from "../../authorization/ui/Authorization.js";
7
7
  import { AmfParameters } from "../../../amf/lib/AmfParameters.js";
8
8
  export default class AmfPassThrough 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);