Skip to content

Commit d406131

Browse files
committed
fix: try to fix problems with resolving extracting path params type
1 parent 885e5a5 commit d406131

File tree

3 files changed

+225
-2
lines changed

3 files changed

+225
-2
lines changed

src/schema-parser/schema-routes.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -777,8 +777,12 @@ class SchemaRoutes {
777777
const queryType = routeParams.query.length
778778
? this.schemaParser.getInlineParseContent(queryObjectSchema, typeName)
779779
: null;
780-
const pathType = routeParams.path.length ? this.schemaParser.getInlineParseContent(pathObjectSchema) : null;
781-
const headersType = routeParams.header.length ? this.schemaParser.getInlineParseContent(headersObjectSchema) : null;
780+
const pathType = routeParams.path.length
781+
? this.schemaParser.getInlineParseContent(pathObjectSchema, typeName)
782+
: null;
783+
const headersType = routeParams.header.length
784+
? this.schemaParser.getInlineParseContent(headersObjectSchema, typeName)
785+
: null;
782786

783787
const nameResolver = new SpecificArgNameResolver(this.logger, pathArgsNames);
784788

tests/spec/extract-enums/v3.0/schema.json

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,28 @@
112112
"name": "statuses",
113113
"in": "query"
114114
},
115+
{
116+
"required": false,
117+
"schema": {
118+
"type": "array",
119+
"items": {
120+
"$ref": "#/components/schemas/VmState"
121+
}
122+
},
123+
"name": "statuses_header",
124+
"in": "header"
125+
},
126+
{
127+
"required": false,
128+
"schema": {
129+
"type": "array",
130+
"items": {
131+
"$ref": "#/components/schemas/VmState"
132+
}
133+
},
134+
"name": "statuses_path",
135+
"in": "path"
136+
},
115137
{
116138
"required": false,
117139
"schema": {
@@ -124,6 +146,58 @@
124146
},
125147
"name": "order_by",
126148
"in": "query"
149+
},
150+
{
151+
"required": false,
152+
"schema": {
153+
"title": "Order By",
154+
"enum": [
155+
"created_time"
156+
],
157+
"type": "string",
158+
"default": "created_time"
159+
},
160+
"name": "order_header_by",
161+
"in": "header"
162+
},
163+
{
164+
"required": false,
165+
"schema": {
166+
"title": "Order By",
167+
"enum": [
168+
"created_time"
169+
],
170+
"type": "string",
171+
"default": "created_time"
172+
},
173+
"name": "order_path_by",
174+
"in": "path"
175+
},
176+
{
177+
"required": false,
178+
"schema": {
179+
"title": "Tag Ids",
180+
"type": "array",
181+
"items": {
182+
"type": "string",
183+
"format": "uuid"
184+
}
185+
},
186+
"name": "tag_head_ids",
187+
"in": "header"
188+
},
189+
{
190+
"required": false,
191+
"schema": {
192+
"title": "Tag Ids",
193+
"type": "array",
194+
"items": {
195+
"type": "string",
196+
"format": "uuid"
197+
}
198+
},
199+
"name": "tag_path_ids",
200+
"in": "path"
127201
}
128202
]
129203
}
@@ -182,6 +256,72 @@
182256
"name": "SHOULD_NOT_BE_ANY",
183257
"in": "query"
184258
},
259+
{
260+
"required": false,
261+
"schema": {
262+
"properties": {
263+
"tree": {
264+
"items": {
265+
"properties": {
266+
"mode": {
267+
"enum": ["100644", "100755", "040000", "160000", "120000"],
268+
"type": "string"
269+
},
270+
"mode-num": {
271+
"enum": [100644, 100755, 40000, 160000, 120000],
272+
"type": "number"
273+
},
274+
"type": {
275+
"enum": ["blob", "tree", "commit"],
276+
"type": "string"
277+
},
278+
"bereke": {
279+
"x-enumNames": ["Bla", "Blabla", "Boiler"]
280+
}
281+
},
282+
"type": "object"
283+
},
284+
"type": "array"
285+
}
286+
},
287+
"type": "object"
288+
},
289+
"name": "SHOULD_NOT_BE_ANY_PATH",
290+
"in": "path"
291+
},
292+
{
293+
"required": false,
294+
"schema": {
295+
"properties": {
296+
"tree": {
297+
"items": {
298+
"properties": {
299+
"mode": {
300+
"enum": ["100644", "100755", "040000", "160000", "120000"],
301+
"type": "string"
302+
},
303+
"mode-num": {
304+
"enum": [100644, 100755, 40000, 160000, 120000],
305+
"type": "number"
306+
},
307+
"type": {
308+
"enum": ["blob", "tree", "commit"],
309+
"type": "string"
310+
},
311+
"bereke": {
312+
"x-enumNames": ["Bla", "Blabla", "Boiler"]
313+
}
314+
},
315+
"type": "object"
316+
},
317+
"type": "array"
318+
}
319+
},
320+
"type": "object"
321+
},
322+
"name": "SHOULD_NOT_BE_ANY_HEADER",
323+
"in": "header"
324+
},
185325
{
186326
"required": false,
187327
"schema": {
@@ -194,6 +334,32 @@
194334
},
195335
"name": "order_by",
196336
"in": "query"
337+
},
338+
{
339+
"required": false,
340+
"schema": {
341+
"title": "Order By",
342+
"enum": [
343+
"created_time"
344+
],
345+
"type": "string",
346+
"default": "created_time"
347+
},
348+
"name": "order_by_header",
349+
"in": "header"
350+
},
351+
{
352+
"required": false,
353+
"schema": {
354+
"title": "Order By",
355+
"enum": [
356+
"created_time"
357+
],
358+
"type": "string",
359+
"default": "created_time"
360+
},
361+
"name": "order_by_path",
362+
"in": "path"
197363
}
198364
]
199365
}

tests/spec/extract-enums/v3.0/schema.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,29 @@ export enum TypeNamePrefixTreeBerekeTypeNameSuffix {
115115
EnumKeyPrefixBoilerEnumKeySuffix = "Boiler",
116116
}
117117

118+
/**
119+
* Order By
120+
* @default "created_time"
121+
*/
122+
export enum TypeNamePrefixEnumRoot6TypeNameSuffix {
123+
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
124+
}
125+
118126
export interface TypeNamePrefixGetAbcGetParamsTypeNameSuffix {
119127
statuses?: any[];
120128
/**
121129
* Order By
122130
* @default "created_time"
123131
*/
124132
order_by?: TypeNamePrefixGetAbcGetParamsOrderByTypeNameSuffix;
133+
statusesPath?: any[];
134+
/**
135+
* Order By
136+
* @default "created_time"
137+
*/
138+
orderPathBy?: TypeNamePrefixGetAbcGetParamsOrderPathByTypeNameSuffix;
139+
/** Tag Ids */
140+
tagPathIds?: string[];
125141
}
126142

127143
/**
@@ -132,6 +148,22 @@ export enum TypeNamePrefixGetAbcGetParamsOrderByTypeNameSuffix {
132148
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
133149
}
134150

151+
/**
152+
* Order By
153+
* @default "created_time"
154+
*/
155+
export enum TypeNamePrefixGetAbcGetParamsOrderHeaderByTypeNameSuffix {
156+
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
157+
}
158+
159+
/**
160+
* Order By
161+
* @default "created_time"
162+
*/
163+
export enum TypeNamePrefixEnumRoot7TypeNameSuffix {
164+
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
165+
}
166+
135167
export interface TypeNamePrefixGetCdeGetParamsTypeNameSuffix {
136168
/** Tag Ids */
137169
tag_ids?: string[];
@@ -148,6 +180,19 @@ export interface TypeNamePrefixGetCdeGetParamsTypeNameSuffix {
148180
* @default "created_time"
149181
*/
150182
order_by?: TypeNamePrefixGetCdeGetParamsOrderByTypeNameSuffix;
183+
shouldNotBeAnyPath?: {
184+
tree?: {
185+
mode?: TypeNamePrefixTreeModeTypeNameSuffix;
186+
"mode-num"?: TypeNamePrefixTreeModeNumTypeNameSuffix;
187+
type?: TypeNamePrefixTreeTypeTypeNameSuffix;
188+
bereke?: TypeNamePrefixTreeBerekeTypeNameSuffix;
189+
}[];
190+
};
191+
/**
192+
* Order By
193+
* @default "created_time"
194+
*/
195+
orderByPath?: TypeNamePrefixGetCdeGetParamsOrderByPathTypeNameSuffix;
151196
}
152197

153198
export enum TypeNamePrefixGetCdeGetParamsModeTypeNameSuffix {
@@ -185,3 +230,11 @@ export enum TypeNamePrefixGetCdeGetParamsBerekeTypeNameSuffix {
185230
export enum TypeNamePrefixGetCdeGetParamsOrderByTypeNameSuffix {
186231
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
187232
}
233+
234+
/**
235+
* Order By
236+
* @default "created_time"
237+
*/
238+
export enum TypeNamePrefixGetCdeGetParamsOrderByHeaderTypeNameSuffix {
239+
EnumKeyPrefixCreatedTimeEnumKeySuffix = "created_time",
240+
}

0 commit comments

Comments
 (0)