File tree Expand file tree Collapse file tree 3 files changed +23
-9
lines changed
server/node-service/src/plugins/openApi Expand file tree Collapse file tree 3 files changed +23
-9
lines changed Original file line number Diff line number Diff line change @@ -254,10 +254,16 @@ export async function parseOpenApi(
254
254
let params : ActionParamConfig [ ] = [ ] ;
255
255
256
256
if ( main === 2 ) {
257
- params = parseSwagger2Operation ( operation as OpenAPIV2 . OperationObject ) ;
257
+ params = parseSwagger2Operation (
258
+ operation as OpenAPIV2 . OperationObject ,
259
+ pathSpec as OpenAPIV2 . PathItemObject
260
+ ) ;
258
261
}
259
262
if ( main === 3 ) {
260
- params = parseOas3Operation ( operation as OpenAPIV3 . OperationObject ) ;
263
+ params = parseOas3Operation (
264
+ operation as OpenAPIV3 . OperationObject ,
265
+ pathSpec as OpenAPIV3 . PathItemObject
266
+ ) ;
261
267
}
262
268
const action : ActionConfig = {
263
269
category : operation . tags || "" ,
Original file line number Diff line number Diff line change @@ -61,14 +61,18 @@ const schemaToActionParamConfig = (
61
61
return param ;
62
62
} ;
63
63
64
- export function parseOperation ( operation ?: OpenAPIV3 . OperationObject ) : ActionParamConfig [ ] {
64
+ export function parseOperation (
65
+ operation ?: OpenAPIV3 . OperationObject ,
66
+ pathSpec ?: OpenAPIV3 . PathItemObject
67
+ ) : ActionParamConfig [ ] {
65
68
const params : ActionParamConfig [ ] = [ ] ;
66
- if ( ! operation ) {
69
+ if ( ! operation || ! pathSpec ) {
67
70
return [ ] ;
68
71
}
69
- const { parameters, requestBody } = operation ;
72
+ const { parameters : pathParameters = [ ] } = pathSpec ;
73
+ const { parameters = [ ] , requestBody } = operation ;
70
74
71
- parameters ? .forEach ( ( i ) => {
75
+ pathParameters . concat ( parameters ) . forEach ( ( i ) => {
72
76
if ( isRefObject ( i ) ) {
73
77
console . warn ( "unexpected ref parameters:" , i ) ;
74
78
return ;
Original file line number Diff line number Diff line change @@ -33,10 +33,14 @@ const openApiV2TypeMap: Record<string, ActionParamType> = {
33
33
file : "file" ,
34
34
} ;
35
35
36
- export function parseOperation ( operation : OpenAPIV2 . OperationObject ) : ActionParamConfig [ ] {
36
+ export function parseOperation (
37
+ operation : OpenAPIV2 . OperationObject ,
38
+ pathSpec : OpenAPIV2 . PathItemObject
39
+ ) : ActionParamConfig [ ] {
37
40
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 ) => {
40
44
if ( isRefObject ( paramSpec ) ) {
41
45
console . warn ( "unexpected ref parameters:" , paramSpec ) ;
42
46
return ;
You can’t perform that action at this time.
0 commit comments