File tree Expand file tree Collapse file tree
server/node-service/src/plugins/openApi Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -254,10 +254,16 @@ export async function parseOpenApi(
254254 let params : ActionParamConfig [ ] = [ ] ;
255255
256256 if ( main === 2 ) {
257- params = parseSwagger2Operation ( operation as OpenAPIV2 . OperationObject ) ;
257+ params = parseSwagger2Operation (
258+ operation as OpenAPIV2 . OperationObject ,
259+ pathSpec as OpenAPIV2 . PathItemObject
260+ ) ;
258261 }
259262 if ( main === 3 ) {
260- params = parseOas3Operation ( operation as OpenAPIV3 . OperationObject ) ;
263+ params = parseOas3Operation (
264+ operation as OpenAPIV3 . OperationObject ,
265+ pathSpec as OpenAPIV3 . PathItemObject
266+ ) ;
261267 }
262268 const action : ActionConfig = {
263269 category : operation . tags || "" ,
Original file line number Diff line number Diff line change @@ -61,14 +61,18 @@ const schemaToActionParamConfig = (
6161 return param ;
6262} ;
6363
64- export function parseOperation ( operation ?: OpenAPIV3 . OperationObject ) : ActionParamConfig [ ] {
64+ export function parseOperation (
65+ operation ?: OpenAPIV3 . OperationObject ,
66+ pathSpec ?: OpenAPIV3 . PathItemObject
67+ ) : ActionParamConfig [ ] {
6568 const params : ActionParamConfig [ ] = [ ] ;
66- if ( ! operation ) {
69+ if ( ! operation || ! pathSpec ) {
6770 return [ ] ;
6871 }
69- const { parameters, requestBody } = operation ;
72+ const { parameters : pathParameters = [ ] } = pathSpec ;
73+ const { parameters = [ ] , requestBody } = operation ;
7074
71- parameters ? .forEach ( ( i ) => {
75+ pathParameters . concat ( parameters ) . forEach ( ( i ) => {
7276 if ( isRefObject ( i ) ) {
7377 console . warn ( "unexpected ref parameters:" , i ) ;
7478 return ;
Original file line number Diff line number Diff line change @@ -33,10 +33,14 @@ const openApiV2TypeMap: Record<string, ActionParamType> = {
3333 file : "file" ,
3434} ;
3535
36- export function parseOperation ( operation : OpenAPIV2 . OperationObject ) : ActionParamConfig [ ] {
36+ export function parseOperation (
37+ operation : OpenAPIV2 . OperationObject ,
38+ pathSpec : OpenAPIV2 . PathItemObject
39+ ) : ActionParamConfig [ ] {
3740 const params : ActionParamConfig [ ] = [ ] ;
38-
39- operation . parameters ?. forEach ( ( paramSpec ) => {
41+ const pathParametersSpec = pathSpec . parameters || [ ] ;
42+ const operationParametersSpec = operation . parameters || [ ] ;
43+ pathParametersSpec . concat ( operationParametersSpec ) . forEach ( ( paramSpec ) => {
4044 if ( isRefObject ( paramSpec ) ) {
4145 console . warn ( "unexpected ref parameters:" , paramSpec ) ;
4246 return ;
You can’t perform that action at this time.
0 commit comments