@redocly/reference-docs 2.43.6 → 2.43.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli/commands/redocly-docs-cli.min.js +7 -7
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
- package/dist/console.redocly-reference-docs.min.js +69 -69
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +188 -188
- package/lib/components/OperationParameters/OperationParameters.js +1 -1
- package/lib/components/console/AuthPanel.js +1 -1
- package/lib/components/console/Console.js +1 -1
- package/lib/components/console/ParameterArray.js +1 -1
- package/lib/components/console/utils.js +1 -1
- package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
- package/lib/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib/redoc-lib/src/services/models/SecurityRequirement.js +1 -1
- package/lib/redoc-lib/src/types/open-api.d.ts +2 -2
- package/lib-browser/components/OperationParameters/OperationParameters.js +1 -1
- package/lib-browser/components/console/AuthPanel.js +1 -1
- package/lib-browser/components/console/Console.js +1 -1
- package/lib-browser/components/console/ParameterArray.js +1 -1
- package/lib-browser/components/console/utils.js +1 -1
- package/lib-browser/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
- package/lib-browser/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-browser/redoc-lib/src/services/models/SecurityRequirement.js +1 -1
- package/lib-browser/redoc-lib/src/types/open-api.d.ts +2 -2
- package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
- package/lib-esm/components/console/AuthPanel.js +1 -1
- package/lib-esm/components/console/Console.js +1 -1
- package/lib-esm/components/console/ParameterArray.js +1 -1
- package/lib-esm/components/console/utils.js +1 -1
- package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/SecurityRequirement.js +1 -1
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,Fragment}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../console/ParameterDropdown";import{ParameterArray}from"../console/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const o=useMemo((()=>createValidator(r)),[r]),t=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,m=getInitialValue(r.schema),i=e.split(".").map((e=>unescapeFormId(e)));return t?_jsx(FormControl,{children:_jsx(ParameterEnumDropdown,{initValue:m,paramEnum:t,field:e},void 0)},void 0):_jsx(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:o,initialValue:m||get(a,i),validateOnBlur:!0,validateOnChange:!0},void 0)}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),o=(r,a,t,m)=>{var i;const n=t?dottedString(t,r.name):r.name,s=isNotSupported(r.schema),
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,Fragment,useCallback}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../console/ParameterDropdown";import{ParameterArray}from"../console/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const o=useMemo((()=>createValidator(r)),[r]),t=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,m=getInitialValue(r.schema),i=e.split(".").map((e=>unescapeFormId(e)));return t?_jsx(FormControl,{children:_jsx(ParameterEnumDropdown,{initValue:m,paramEnum:t,field:e},void 0)},void 0):_jsx(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:o,initialValue:m||get(a,i),validateOnBlur:!0,validateOnChange:!0},void 0)}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),o=useCallback(((r,a,t,m)=>{var i;const n=t?dottedString(t,r.name):r.name,s=isNotSupported(r.schema),l=t?[a,t]:[r.in],d=dottedString(...l,escapeFormId(r.name));return s&&console.warn(`Unsupported parameter definition: "${s}"`),r.schema.type===SchemaType.ARRAY?_jsx(ParameterArray,{name:n,param:r,place:a,renderParameter:o},d):r.schema.type===SchemaType.OBJECT?null===(i=r.schema.fields)||void 0===i?void 0:i.map((e=>o(e,a,n))):_jsxs(FormControl,{children:[_jsxs(FormLabel,Object.assign({required:r.required},{children:[m||n,":"]}),void 0),s?_jsx(FormWarning,{children:"Unsupported field schema definition"},void 0):_jsx(FormControlWrapper,{id:d,param:r,values:e},void 0)]},d)}),[e]),t=useCallback((e=>{const r=a[e];return r&&r.length?_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(GroupLabel,{children:[" # ",e," parameters "]},void 0),_jsx("span",{children:" "},void 0)]},void 0),r.map((r=>o(r,e)))]},e):null}),[a,o]);return _jsx(Table,{children:PARAM_PLACES.map(t)},void 0)}
|
|
2
2
|
//# sourceMappingURL=OperationParameters.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,a,
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,n,a,d;const u=escapeFormId(o.id);if("apiKey"===o.type){const t=getSecurityDetailsOptions(u,""),i={field:`auth.${u}`,fullWidth:!0,initialValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",o.name,": "]},void 0),t?_jsx(FormDropdown,Object.assign({},i,{options:t}),void 0):_jsx(FormTextField,Object.assign({},i,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},u)}if("http"===o.type){if("basic"===o.scheme){const o=getSecurityDetailsOptions(u,"username"),s={field:`auth.${u}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}.username`)||(null===(t=null==e?void 0:e[u])||void 0===t?void 0:t.username),initValue:fromSessionStorage(`auth.${u}.username`)||(null===(i=null==e?void 0:e[u])||void 0===i?void 0:i.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicUsername"),": "]},void 0),o?_jsx(FormDropdown,Object.assign({},s,{options:o}),void 0):_jsx(FormTextField,Object.assign({},s),void 0)]},void 0),_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicPassword"),": "]},void 0),_jsx(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${u}.password`,initialValue:fromSessionStorage(`auth.${u}.password`)||(null===(r=null==e?void 0:e[u])||void 0===r?void 0:r.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("bearer"===o.scheme){const o=getSecurityDetailsOptions(u,""),t={field:`auth.${u}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsx(Fragment,{children:_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Bearer Token: "},void 0),o?_jsx(FormDropdown,Object.assign({},t,{options:o}),void 0):_jsx(FormTextField,Object.assign({},t,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},u)}}else{if("oauth2"===o.type&&o.flows&&o.flows.clientCredentials)return _jsx(OAuth2TokenInput,{flow:o.flows.clientCredentials,server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.clientCredentials["x-defaultClientId"]||o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.implicit)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.implicit.authorizationUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(s=null==o?void 0:o.flows)||void 0===s?void 0:s.implicit)||void 0===n?void 0:n.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.implicit["x-defaultClientId"]||o["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.authorizationCode)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.authorizationCode.authorizationUrl,tokenUrl:o.flows.authorizationCode.tokenUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(a=o.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.authorizationCode["x-defaultClientId"]||o["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:o.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:o.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type){let o=fromSessionStorage(`auth.${u}.token`)||JSON.stringify(null===(d=null==e?void 0:e[u])||void 0===d?void 0:d.token);return o=o?JSON.parse(o):{},_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token Type: "},void 0),_jsx(FormTextField,{fullWidth:!0,field:`auth.${u}.token.token_type`,initialValue:o.token_type||"Bearer"},void 0)]},void 0),_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token: "},void 0),_jsx(FormTextField,{type:"password",fullWidth:!0,field:`auth.${u}.token.access_token`,validate:requiredValidator,initialValue:o.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("openIdConnect"===o.type)return _jsx(OpenIDConnect,{server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,scheme:o,clientId:o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("none"===o.type)return _jsx("span",{children:"None"},u)}}))]},void 0),_jsxs("small",{children:[_jsx("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate,__rest}from"tslib";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{Component}from"react";import{unescapeFormId}from"../../utils";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{useDimensions}from"../../hooks";import{AnalyticsEventType}from"../../events";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServersDropdown}from"./ServersDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}const flexColumn={flex:1,display:"flex",flexDirection:"column"};let Console=class extends Component{constructor(e){super(e),Object.defineProperty(this,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.formApi=e;const t=e.getState(),{values:o}=t,s=__rest(t,["values"]);setTimeout((()=>{const e=Object.assign(Object.assign({},s),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})});this.setState({form:e})}),0)}}),Object.defineProperty(this,"handleValueChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=Object.assign(Object.assign({},e),{query:unescapeQueryParams(e.query||{})});this.setState((e=>({form:Object.assign(Object.assign({},e.form),{values:t})})),(()=>{updateStorage(this.state.form),this.props.operation.setRequestValues(e)}))}}),Object.defineProperty(this,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeTab:e})}}),Object.defineProperty(this,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({server:e}),this.props.operation.setActiveServer(e)}}),Object.defineProperty(this,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:async()=>{var e,t,o,s,r,n,i,a,l,c;const{store:d,operation:p,onResponse:u}=this.props;null===(e=this.formApi)||void 0===e||e.submitForm();const{invalid:h}=this.state.form||(null===(t=this.formApi)||void 0===t?void 0:t.getState());if(h)return this.setState({shaking:!0}),setTimeout((()=>this.setState({shaking:!1})),1e3),void(null===(s=null===(o=null==d?void 0:d.options.events)||void 0===o?void 0:o.tryItSent)||void 0===s||s.call(o,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:p.operationId,operationPath:p.path,operationHttpVerb:p.httpVerb,operationSummary:p.description}));const{values:m}=this.state.form||(null===(r=this.formApi)||void 0===r?void 0:r.getState()),{servers:v,requestBody:g}=this.props.operation,y=g&&g.content&&g.content.active&&g.content.active.name||"";let b=m.body;if(/json/.test(y))try{b=JSON.parse(b)}catch(e){console.error(e)}this.setState({loading:!0});const f=this.state.resolvedRawSpec,j=(p.httpVerb||"").toLowerCase();if(!v)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const O=v.find((e=>this.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),P=Date.now();let S,x=m.auth;if(m.auth){const e=Object.keys(m.auth)[0],t=unescapeFormId(e);S=Object.assign(Object.assign({},f),{components:Object.assign(Object.assign({},null==f?void 0:f.components),{securitySchemes:Object.assign(Object.assign({},null==f?void 0:f.components.securitySchemes),{[t]:Object.assign(Object.assign({},null==f?void 0:f.components.securitySchemes[t]),{type:"openIdConnect"===(null==f?void 0:f.components.securitySchemes[t].type)?"oauth2":null==f?void 0:f.components.securitySchemes[t].type})})})});const o="cookie"===(null==f?void 0:f.components.securitySchemes[t].in)?"Cookie":t,s="cookie"===(null==f?void 0:f.components.securitySchemes[t].in)?`${null==f?void 0:f.components.securitySchemes[t].name}=${x[e]}`:x[e];x=Object.assign(Object.assign({},x),{[o]:s})}else S=Object.assign({},f);S.servers=v;const C=d.options.corsProxyUrl;C&&v.length&&(S.servers=v.map((e=>Object.assign(Object.assign({},e),{url:C+normalizeUrlProtocol(e.url)}))),S.paths=Object.assign(Object.assign({},S.paths),{[p.path]:Object.assign(Object.assign({},S.paths[p.path]),{[j]:Object.assign(Object.assign({},S.paths[p.path][j]),{servers:void 0}),servers:void 0})}));const _=(null===(i=null===(n=null==g?void 0:g.content)||void 0===n?void 0:n.active)||void 0===i?void 0:i.name)||null;if(_&&b&&isFileUploadMime(_)){const e=Object.values(b);b=e.length>1?e:e[0]}const A={server:C?C+normalizeUrlProtocol(O.url):O.url,serverVariables:this.state.server.variables,spec:S,pathName:p.path,method:p.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},m.path),m.query),m.header),m.cookie),securities:{authorized:x},requestBody:b,requestContentType:_,responseContentType:(null===(a=m.header)||void 0===a?void 0:a.Accept)||null,requestInterceptor:makeRequestInterceptor(d.options,p,x)};try{const e=await Swagger.execute(A),t=null==e?void 0:e.data;t instanceof Blob&&(isFileUploadMime(t.type)&&(e.fileInfo={rawData:t,fileName:getFileNameFromHeaders(e.headers)}),e.data=await t.text()),null==u||u({request:A,response:e}),this.setState({response:e,error:void 0})}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=await e.response.data.text(),null==u||u({request:A,response:e.response})),this.setState({response:void 0,error:e})}finally{this.setState({loading:!1,activeTab:1,time:Date.now()-P}),null===(c=null===(l=null==d?void 0:d.options.events)||void 0===l?void 0:l.tryItSent)||void 0===c||c.call(l,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:p.operationId,operationPath:p.path,operationHttpVerb:p.httpVerb,operationSummary:p.description})}}}),this.state={form:{values:{path:getParameters(e.operation.parameters,"path"),cookie:getParameters(e.operation.parameters,"cookie"),header:getParameters(e.operation.parameters,"header"),query:getParameters(e.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}}}async componentDidMount(){var e;const{store:t,operation:o}=this.props,s=await t.dereferenceSpecForTryIt(o);this.setState({resolvedRawSpec:s}),null===(e=this.formApi)||void 0===e||e.setValues({})}componentDidUpdate(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}render(){const{operation:e,className:t,rootElement:o}=this.props,{shaking:s,activeTab:r,form:n,response:i,loading:a,error:l}=this.state,c=!(!i&&!l);return _jsxs(ConsoleWrapHook,Object.assign({shaking:s,className:t,rootElement:o},{children:[_jsxs(CodeHeader,{children:[_jsx(ConsoleBadges,{active:r,hasResponse:c,onChange:this.handleTabChange},void 0),this.props.onClose&&_jsx(CloseButton,Object.assign({onClick:this.props.onClose},{children:" ✕ "}),void 0)]},void 0),_jsx(ConsoleBody,Object.assign({hidden:0!==r,"data-cy":"console-request-body"},{children:this.renderRequest()}),void 0),_jsx(ConsoleBody,Object.assign({hidden:1!==r,"data-cy":"console-response-body"},{children:this.renderResponse()}),void 0),_jsx(ActionPanel,{hasResponse:c,params:n.values,operation:e,loading:a,execute:this.handleExecute},void 0)]}),void 0)}renderRequest(){var e;const{operation:t,store:o,properties:s,securityDefaults:r}=this.props,{form:n,resolvedRawSpec:i,server:a}=this.state,c=n.errors||{},d=c.path||c.cookie||c.header||c.query,p=i&&JsonPointer.get(i,t.pointer);let u=n.values&&n.values.auth&&Object.keys(n.values.auth)[0];u&&n.values.auth[u]||(u=void 0),!u||void 0===n.values.auth[u].token&&void 0===n.values.auth[u].client_id&&void 0===n.values.auth[u].client_secret||n.values.auth[u].token&&n.values.auth[u].token.access_token||(u=void 0),u&&null!=n.values.auth[u].username&&(n.values.auth[u].username&&n.values.auth[u].password||(u=void 0));const h=t.parameters||[],m=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!i&&_jsx(_Fragment,{children:"Loading..."},void 0)||_jsxs(Form,Object.assign({onValueChange:this.handleValueChange,getApi:this.setFormApi,style:Object.assign(Object.assign({},flexColumn),{margin:0})},{children:[_jsx(ServersDropdown,{operation:t,onChange:this.handleServerChange},void 0),_jsxs(Accordion,Object.assign({initialActiveIdx:t.security.length&&u?1:0},{children:[t.security.length&&this.formApi&&_jsx(TryItPanel,Object.assign({header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!u&&!!c.auth,success:!!u},{children:m?_jsx(AuthPanelHook,Object.assign({field:"auth",validate:requiredValidator},{children:e=>_jsx(RenderHook,{Hook:m,props:{server:a,operation:t,onChange:e,OAuth2:OAuth2}},void 0)}),void 0):_jsx(AuthPanel,{formApi:this.formApi,form:n,operation:t,activeServer:a.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:r},void 0)}),void 0)||null,t.requestBody&&this.formApi&&_jsx(TryItPanel,Object.assign({header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!c.body},{children:_jsx(RequestBody,{validate:allowBodyErrors,formApi:this.formApi,body:t.requestBody,id:t.id,resolvedBody:null==p?void 0:p.requestBody,properties:s},void 0)}),void 0)||null,h.length&&_jsx(TryItPanel,Object.assign({header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},{children:_jsx(OperationParameters,{operation:t,values:n.values,errors:n.errors||{}},void 0)}),void 0)||null]}),void 0)]}),void 0)}renderResponse(){const{response:e,error:t,time:o}=this.state;return _jsx(ResponsePanel,{response:e,error:t,time:o},void 0)}};Console=__decorate([observer],Console);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){const{shaking:t,className:o,children:s,rootElement:r}=e,[n]=useDimensions(r);return _jsx(ConsoleWrap,Object.assign({shaking:t,className:o,"data-cy":"console",fullWidth:null==n?void 0:n.width},{children:s}),void 0)}function AuthPanelHook(e){const{fieldApi:t,render:o,userProps:s}=useField(Object.assign({},e)),{setValue:r}=t,{children:n}=s;return o(_jsx(_Fragment,{children:n(r)},void 0))}
|
|
1
|
+
import{__decorate,__rest}from"tslib";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Form,useField}from"informed";import{observer}from"mobx-react";import Swagger from"swagger-client";import{Component}from"react";import{unescapeFormId}from"../../utils";import{JsonPointer}from"../../redoc-lib";import{RenderHook}from"../../redoc-lib/src/components/RenderHook";import{l}from"../../redoc-lib/src/services/Labels";import{CodeHeader,Accordion}from"../Panel";import{OAuth2}from"../../services/OAuth2";import{isFileUploadMime}from"../common/FileUpload/helper";import{OperationParameters}from"../OperationParameters";import{useDimensions}from"../../hooks";import{AnalyticsEventType}from"../../events";import{isEmptyObject}from"../../services/utils";import{getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"./utils";import{AuthPanel,requiredValidator}from"./AuthPanel";import{ConsoleBadges}from"./ConsoleBadges";import{RequestBody}from"./RequestBody";import{ResponsePanel}from"./ResponsePanel";import{ActionPanel}from"./ActionPanel";import{ServersDropdown}from"./ServersDropdown";import{TryItPanel}from"./TryItPanel";import{CloseButton,ConsoleBody,ConsoleWrap}from"./styled";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}const flexColumn={flex:1,display:"flex",flexDirection:"column"};let Console=class extends Component{constructor(e){super(e),Object.defineProperty(this,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.formApi=e;const t=e.getState(),{values:o}=t,s=__rest(t,["values"]);setTimeout((()=>{const e=Object.assign(Object.assign({},s),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{}),path:unescapeQueryParams(o.path||{})})});this.setState({form:e})}),0)}}),Object.defineProperty(this,"handleValueChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=Object.assign(Object.assign({},e),{query:unescapeQueryParams(e.query||{}),path:unescapeQueryParams(e.path||{})});this.setState((e=>({form:Object.assign(Object.assign({},e.form),{values:t})})),(()=>{updateStorage(this.state.form),this.props.operation.setRequestValues(e)}))}}),Object.defineProperty(this,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeTab:e})}}),Object.defineProperty(this,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({server:e}),this.props.operation.setActiveServer(e)}}),Object.defineProperty(this,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:async()=>{var e,t,o,s,r,a,i,n,l,c;const{store:d,operation:p,onResponse:u}=this.props;null===(e=this.formApi)||void 0===e||e.submitForm();const{invalid:h}=(null===(t=this.formApi)||void 0===t?void 0:t.getState())||this.state.form;if(h)return this.setState({shaking:!0}),setTimeout((()=>this.setState({shaking:!1})),1e3),void(null===(s=null===(o=null==d?void 0:d.options.events)||void 0===o?void 0:o.tryItSent)||void 0===s||s.call(o,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:p.operationId,operationPath:p.path,operationHttpVerb:p.httpVerb,operationSummary:p.description}));const{values:m}=(null===(r=this.formApi)||void 0===r?void 0:r.getState())||this.state.form,{servers:v,requestBody:g}=this.props.operation,y=g&&g.content&&g.content.active&&g.content.active.name||"";let b=m.body;if(/json/.test(y))try{b=JSON.parse(b)}catch(e){console.error(e)}this.setState({loading:!0});const f=this.state.resolvedRawSpec,j=(p.httpVerb||"").toLowerCase();if(!v)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const O=v.find((e=>this.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),P=Date.now();let S,x=m.auth;if(!isEmptyObject(m.auth)&&m.auth){const e=Object.keys(m.auth)[0],t=unescapeFormId(e);S=Object.assign(Object.assign({},f),{components:Object.assign(Object.assign({},null==f?void 0:f.components),{securitySchemes:Object.assign(Object.assign({},null==f?void 0:f.components.securitySchemes),{[t]:Object.assign(Object.assign({},null==f?void 0:f.components.securitySchemes[t]),{type:"openIdConnect"===(null==f?void 0:f.components.securitySchemes[t].type)?"oauth2":null==f?void 0:f.components.securitySchemes[t].type})})})});const o="cookie"===(null==f?void 0:f.components.securitySchemes[t].in)?"Cookie":t,s="cookie"===(null==f?void 0:f.components.securitySchemes[t].in)?`${null==f?void 0:f.components.securitySchemes[t].name}=${x[e]}`:x[e];x=Object.assign(Object.assign({},x),{[o]:s})}else S=Object.assign({},f);S.servers=v;const C=d.options.corsProxyUrl;C&&v.length&&(S.servers=v.map((e=>Object.assign(Object.assign({},e),{url:C+normalizeUrlProtocol(e.url)}))),S.paths=Object.assign(Object.assign({},S.paths),{[p.path]:Object.assign(Object.assign({},S.paths[p.path]),{[j]:Object.assign(Object.assign({},S.paths[p.path][j]),{servers:void 0}),servers:void 0})}));const _=(null===(i=null===(a=null==g?void 0:g.content)||void 0===a?void 0:a.active)||void 0===i?void 0:i.name)||null;if(_&&b&&isFileUploadMime(_)){const e=Object.values(b);b=e.length>1?e:e[0]}const A={server:C?C+normalizeUrlProtocol(O.url):O.url,serverVariables:this.state.server.variables,spec:S,pathName:p.path,method:p.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},m.path),m.query),m.header),m.cookie),securities:{authorized:x},requestBody:b,requestContentType:_,responseContentType:(null===(n=m.header)||void 0===n?void 0:n.Accept)||null,requestInterceptor:makeRequestInterceptor(d.options,p,x)};try{const e=await Swagger.execute(A),t=null==e?void 0:e.data;t instanceof Blob&&(isFileUploadMime(t.type)&&(e.fileInfo={rawData:t,fileName:getFileNameFromHeaders(e.headers)}),e.data=await t.text()),null==u||u({request:A,response:e}),this.setState({response:e,error:void 0})}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=await e.response.data.text(),null==u||u({request:A,response:e.response})),this.setState({response:void 0,error:e})}finally{this.setState({loading:!1,activeTab:1,time:Date.now()-P}),null===(c=null===(l=null==d?void 0:d.options.events)||void 0===l?void 0:l.tryItSent)||void 0===c||c.call(l,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:p.operationId,operationPath:p.path,operationHttpVerb:p.httpVerb,operationSummary:p.description})}}}),this.state={form:{values:{path:getParameters(e.operation.parameters,"path"),cookie:getParameters(e.operation.parameters,"cookie"),header:getParameters(e.operation.parameters,"header"),query:getParameters(e.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}}}async componentDidMount(){var e;const{store:t,operation:o}=this.props,s=await t.dereferenceSpecForTryIt(o);this.setState({resolvedRawSpec:s}),null===(e=this.formApi)||void 0===e||e.setValues({})}componentDidUpdate(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}render(){const{operation:e,className:t,rootElement:o}=this.props,{shaking:s,activeTab:r,form:a,response:i,loading:n,error:l}=this.state,c=!(!i&&!l);return _jsxs(ConsoleWrapHook,Object.assign({shaking:s,className:t,rootElement:o},{children:[_jsxs(CodeHeader,{children:[_jsx(ConsoleBadges,{active:r,hasResponse:c,onChange:this.handleTabChange},void 0),this.props.onClose&&_jsx(CloseButton,Object.assign({onClick:this.props.onClose},{children:" ✕ "}),void 0)]},void 0),_jsx(ConsoleBody,Object.assign({hidden:0!==r,"data-cy":"console-request-body"},{children:this.renderRequest()}),void 0),_jsx(ConsoleBody,Object.assign({hidden:1!==r,"data-cy":"console-response-body"},{children:this.renderResponse()}),void 0),_jsx(ActionPanel,{hasResponse:c,params:a.values,operation:e,loading:n,execute:this.handleExecute},void 0)]}),void 0)}renderRequest(){var e;const{operation:t,store:o,properties:s,securityDefaults:r}=this.props,{form:a,resolvedRawSpec:i,server:n}=this.state,c=a.errors||{},d=c.path||c.cookie||c.header||c.query,p=i&&JsonPointer.get(i,t.pointer);let u=a.values&&a.values.auth&&Object.keys(a.values.auth)[0];u&&a.values.auth[u]||(u=void 0),!u||void 0===a.values.auth[u].token&&void 0===a.values.auth[u].client_id&&void 0===a.values.auth[u].client_secret||a.values.auth[u].token&&a.values.auth[u].token.access_token||(u=void 0),u&&null!=a.values.auth[u].username&&(a.values.auth[u].username&&a.values.auth[u].password||(u=void 0));const h=t.parameters||[],m=null===(e=null==o?void 0:o.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!i&&_jsx(_Fragment,{children:"Loading..."},void 0)||_jsxs(Form,Object.assign({onValueChange:this.handleValueChange,getApi:this.setFormApi,style:Object.assign(Object.assign({},flexColumn),{margin:0})},{children:[_jsx(ServersDropdown,{operation:t,onChange:this.handleServerChange},void 0),_jsxs(Accordion,Object.assign({initialActiveIdx:t.security.length&&u?1:0},{children:[t.security.length&&this.formApi&&_jsx(TryItPanel,Object.assign({header:l("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!u&&!!c.auth,success:!!u},{children:m?_jsx(AuthPanelHook,Object.assign({field:"auth",validate:requiredValidator},{children:e=>_jsx(RenderHook,{Hook:m,props:{server:n,operation:t,onChange:e,OAuth2:OAuth2}},void 0)}),void 0):_jsx(AuthPanel,{formApi:this.formApi,form:a,operation:t,activeServer:n.url,authCorsProxyUrl:o.options.authCorsProxyUrl,securityDefaults:r},void 0)}),void 0)||null,t.requestBody&&this.formApi&&_jsx(TryItPanel,Object.assign({header:l("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!c.body},{children:_jsx(RequestBody,{validate:allowBodyErrors,formApi:this.formApi,body:t.requestBody,id:t.id,resolvedBody:null==p?void 0:p.requestBody,properties:s},void 0)}),void 0)||null,h.length&&_jsx(TryItPanel,Object.assign({header:l("tryItParameters"),"data-cy":"parameters-trigger",error:d,renderChildrenHidden:!0},{children:_jsx(OperationParameters,{operation:t,values:a.values,errors:a.errors||{}},void 0)}),void 0)||null]}),void 0)]}),void 0)}renderResponse(){const{response:e,error:t,time:o}=this.state;return _jsx(ResponsePanel,{response:e,error:t,time:o},void 0)}};Console=__decorate([observer],Console);export{Console};function allowBodyErrors(){}function ConsoleWrapHook(e){const{shaking:t,className:o,children:s,rootElement:r}=e,[a]=useDimensions(r);return _jsx(ConsoleWrap,Object.assign({shaking:t,className:o,"data-cy":"console",fullWidth:null==a?void 0:a.width},{children:s}),void 0)}function AuthPanelHook(e){const{fieldApi:t,render:o,userProps:s}=useField(Object.assign({},e)),{setValue:r}=t,{children:a}=s;return o(_jsx(_Fragment,{children:a(r)},void 0))}
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as _jsxs,jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useState}from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export const ParameterArray=({name:e,param:r,place:
|
|
1
|
+
import{jsxs as _jsxs,jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{useCallback,useState,useMemo}from"react";import styled from"styled-components";import{FormLabel}from"../common/form";import{escapeFormId}from"../../utils";export const ParameterArray=({name:e,param:r,place:s,renderParameter:t})=>{const[o,i]=useState([]),a=useCallback((()=>{i([...o,o.length?o[o.length-1]+1:0])}),[o]),n=useCallback((e=>{i(o.filter((r=>r!==e)))}),[o]),l=useMemo((()=>{var e,s,t,o,i;return(null===(e=r.schema.items)||void 0===e?void 0:e.fields)?null===(s=r.schema.items)||void 0===s?void 0:s.fields:[{schema:(null===(t=r.schema.items)||void 0===t?void 0:t.schema)||r.schema.items,name:"",required:r.required,description:null===(o=r.schema.items)||void 0===o?void 0:o.description,externalDocs:null===(i=r.schema.items)||void 0===i?void 0:i.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}]}),[r.required,r.schema.items]);return _jsxs(_Fragment,{children:[_jsxs(Row,{children:[_jsxs(FormLabel,Object.assign({required:r.required},{children:[e,"(",o.length," items)"]}),void 0),_jsx("span",Object.assign({onClick:a},{children:"Add item +"}),void 0)]},void 0),null==o?void 0:o.map(((r,o)=>_jsxs(Row,{children:[_jsx(Delete,Object.assign({onClick:()=>n(r)},{children:"delete"}),void 0),l.map((i=>t(i,s,`${escapeFormId(e)}.[${r}]`,`[${o}]${i.name&&"."+i.name}`)))]},r)))]},void 0)};const Row=styled.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
width: 100%;
|
|
4
4
|
align-items: center;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import merge from"deepmerge";import{MediaTypes}from"../../types";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[a]=getParameterValue(r||"",a),e}),{});const pathTemplateRegExp=/(?:{)(
|
|
1
|
+
import merge from"deepmerge";import{MediaTypes}from"../../types";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[a]=getParameterValue(r||"",a),e}),{});const pathTemplateRegExp=/(?:{)(.*?)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},a={};return Object.entries(e.variables||{}).forEach((([e,t])=>{a[e]=r[e]||t.default||""})),a}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),a=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},a),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,a]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=a.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},a,o)=>n=>{var i,s,u,l;r&&(n=Object.assign(Object.assign({},n),{url:decodeURIComponent(n.url)})),t&&(n.headers["X-User-Agent"]="Redocly Try it API console");const c=(null===(s=null===(i=null==a?void 0:a.requestValues)||void 0===i?void 0:i.header)||void 0===s?void 0:s.authorization)||(null===(l=null===(u=null==a?void 0:a.requestValues)||void 0===u?void 0:u.header)||void 0===l?void 0:l.Authorization);return!(null==o?void 0:o.Authorization)&&c&&(n.headers.Authorization=c),(null==o?void 0:o.Cookie)&&(n.headers["X-Redocly-Cookie"]=o.Cookie),e?e(n,a):n};export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,a=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(a,null,2)}export const getStorageExampleKey=(e,t,r,a)=>{let o=e+"_"+t;return r&&a&&Object.keys(a).includes(r)&&(o+="_"+r),o};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Fragment,useState}from"react";import styled from"../../styled-components";import{useStore}from"../StoreBuilder";import{Markdown,StyledMarkdownBlock}from"../Markdown";import{titleize}from"../../utils";import{OAuthFlow}from"../SecuritySchemes/SecuritySchemes";import{l}from"../../services/Labels";import{ContentPanel}from"../../../../components/Panel";import{SecurityRequirementPanelDescription}from"./SecurityRequirementPanelDescription";import{SecurityRequirementElement}from"./SecurityRequirementElement";import{RequiredScopesRow}from"./RequiredScopesRow";export const AUTH_TYPES={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"};function getRequiredScopes(e,t){const i=[];let o=t.length;for(;o--;){const r=t[o];let n=r.schemes.length;for(;n--;){const t=r.schemes[n];t.id===e&&i.push(...t.scopes)}}return Array.from(new Set(i))}export const SecurityRequirements=({securities:e})=>{const t=useStore(),i=null==t?void 0:t.options.showSecuritySchemeType,[o,r]=useState(!1);if(!e.length||(null==t?void 0:t.options.hideSecuritySection))return null;const n=null==t?void 0:t.definition.securitySchemes.schemes,s=null==n?void 0:n.filter((({id:t})=>e.find((e=>e.schemes.find((e=>e.id===t))))));return _jsxs(ContentPanel,Object.assign({header:l("authorizations"),onToggle:e=>r(e),description:!o&&_jsx(SecurityRequirementPanelDescription,{securities:e,showSecuritySchemeType:i},void 0),expanded:o},{children:[o&&s
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Fragment,useState}from"react";import styled from"../../styled-components";import{useStore}from"../StoreBuilder";import{Markdown,StyledMarkdownBlock}from"../Markdown";import{titleize}from"../../utils";import{OAuthFlow}from"../SecuritySchemes/SecuritySchemes";import{l}from"../../services/Labels";import{ContentPanel}from"../../../../components/Panel";import{SecurityRequirementPanelDescription}from"./SecurityRequirementPanelDescription";import{SecurityRequirementElement}from"./SecurityRequirementElement";import{RequiredScopesRow}from"./RequiredScopesRow";export const AUTH_TYPES={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"};function getRequiredScopes(e,t){const i=[];let o=t.length;for(;o--;){const r=t[o];let n=r.schemes.length;for(;n--;){const t=r.schemes[n];t.id===e&&i.push(...t.scopes)}}return Array.from(new Set(i))}export const SecurityRequirements=({securities:e})=>{const t=useStore(),i=null==t?void 0:t.options.showSecuritySchemeType,[o,r]=useState(!1);if(!e.length||(null==t?void 0:t.options.hideSecuritySection))return null;const n=null==t?void 0:t.definition.securitySchemes.schemes,s=null==n?void 0:n.filter((({id:t})=>e.find((e=>e.schemes.find((e=>e.id===t))))));return _jsxs(ContentPanel,Object.assign({header:l("authorizations"),onToggle:e=>r(e),description:!o&&_jsx(SecurityRequirementPanelDescription,{securities:e,showSecuritySchemeType:i},void 0),expanded:o},{children:[o&&s?_jsx(SecurityRequirementBlock,{children:e.map(((t,o)=>{let r,n,s="";return e.length>1&&t.schemes.length>1&&(n=0===o?"(":"",s=")"),o!==e.length-1&&(s+=" or",r=_jsx("br",{},void 0)),_jsxs(Fragment,{children:[n,_jsx(SecurityRequirementElement,{security:t,showSecuritySchemeType:i},void 0),s,r]},t.schemes.map((({id:e})=>e)).join(""))}))},void 0):null,o&&s?s.map((t=>{const i=getRequiredScopes(t.id,e),o=_jsx(RequiredScopesRow,{scopes:i},void 0);return _jsxs(SecurityDetails,{children:[_jsxs("h5",{children:[_jsx(LockIcon,{},void 0)," ",AUTH_TYPES[t.type]||t.type,": ",t.id]},void 0),_jsx(Markdown,{source:t.description||""},void 0),_jsx(StyledMarkdownBlock,{children:t.apiKey?_jsxs(_Fragment,{children:[_jsxs(SecurityRow,{children:[_jsxs("b",{children:[titleize(t.apiKey.in||"")," parameter name: "]},void 0),_jsx("code",{children:t.apiKey.name},void 0)]},void 0),o]},void 0):t.http?_jsxs(_Fragment,{children:[_jsxs(SecurityRow,{children:[_jsx("b",{children:"HTTP Authorization Scheme: "},void 0),_jsx("code",{children:t.http.scheme},void 0)]},void 0),_jsx(SecurityRow,{children:"bearer"===t.http.scheme&&t.http.bearerFormat&&_jsxs(_Fragment,{children:[_jsx("b",{children:"Bearer format: "},void 0),_jsx("code",{children:t.http.bearerFormat},void 0)]},void 0)},void 0),o]},void 0):t.openId?_jsxs(_Fragment,{children:[_jsxs(SecurityRow,{children:[_jsx("b",{children:"Connect URL: "},void 0),_jsx("code",{children:_jsx("a",Object.assign({target:"_blank",rel:"noopener noreferrer",href:t.openId.connectUrl},{children:t.openId.connectUrl}),void 0)},void 0)]},void 0),o]},void 0):t.flows?Object.keys(t.flows).map((e=>_jsx(OAuthFlow,{type:e,RequiredScopes:o,flow:t.flows[e]},e))):null},t.id)]},t.id)})):null]}),void 0)};const SecurityDetails=styled.div`
|
|
2
2
|
border-bottom: 1px solid ${({theme:e})=>e.colors.border.light};
|
|
3
3
|
margin-bottom: 1.5em;
|
|
4
4
|
padding-bottom: 0.7em;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).filter((e=>Object.keys(e).length)).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).filter((e=>Object.keys(e).length)).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers)}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){const e=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"]||[];return this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),e}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
1
|
+
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers)}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){const e=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"]||[];return this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),e}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export class SecurityRequirementModel{constructor(e,s){Object.defineProperty(this,"schemes",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const i=s.definition.components&&s.definition.components.securitySchemes||{};this.schemes=Object.keys(e
|
|
1
|
+
import{isEmptyObject}from"../../../../services/utils";export class SecurityRequirementModel{constructor(e,s){Object.defineProperty(this,"schemes",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const i=s.definition.components&&s.definition.components.securitySchemes||{};if(isEmptyObject(e)){const e={id:"None",scheme:"none",sectionId:"None",type:"none",scopes:[],flows:{}};this.schemes=[e]}else this.schemes=Object.keys(e).map((t=>{const n=s.deref(i[t]).resolved,o=e[t]||[];if(n)return Object.assign(Object.assign({},n),{id:t,sectionId:t,scopes:o});console.warn(`Non existing security scheme referenced: ${t}. Skipping`)})).filter((e=>void 0!==e))}}
|
|
2
2
|
//# sourceMappingURL=SecurityRequirement.js.map
|
|
@@ -267,12 +267,12 @@ export interface OpenAPISecurityRequirement {
|
|
|
267
267
|
[name: string]: string[];
|
|
268
268
|
}
|
|
269
269
|
export interface OpenAPISecurityScheme {
|
|
270
|
-
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
|
|
270
|
+
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'none';
|
|
271
271
|
description?: string;
|
|
272
272
|
name?: string;
|
|
273
273
|
in?: 'query' | 'header' | 'cookie';
|
|
274
274
|
scheme?: string;
|
|
275
|
-
bearerFormat
|
|
275
|
+
bearerFormat?: string;
|
|
276
276
|
'x-defaultClientId'?: string;
|
|
277
277
|
flows: {
|
|
278
278
|
implicit?: {
|