@@ -264,7 +264,12 @@ def get_references_for_model(model, model_name):
264
264
if formatter .is_list_model_whitelisted (items_name ):
265
265
result [items_name ] = None
266
266
elif definition ["items" ].get ("type" ) == "array" :
267
- result [formatter .get_name (definition ["items" ]["items" ])] = None
267
+ nested_model = definition ["items" ]["items" ]
268
+ nested_model_name = formatter .get_name (nested_model )
269
+ result [nested_model_name ] = None
270
+ result .update (
271
+ {k : None for k in get_oneof_references_for_model (nested_model , nested_model_name )}
272
+ )
268
273
elif find_non_primitive_type (definition ["items" ]):
269
274
result [items_name ] = None
270
275
elif definition .get ("properties" ) and top_name :
@@ -428,13 +433,16 @@ def parameters(operation):
428
433
if "multipart/form-data" in operation ["requestBody" ]["content" ]:
429
434
parent = operation ["requestBody" ]["content" ]["multipart/form-data" ]["schema" ]
430
435
for name , schema in parent ["properties" ].items ():
431
- yield name , {
432
- "in" : "form" ,
433
- "schema" : schema ,
434
- "name" : name ,
435
- "description" : schema .get ("description" ),
436
- "required" : name in parent .get ("required" , []),
437
- }
436
+ yield (
437
+ name ,
438
+ {
439
+ "in" : "form" ,
440
+ "schema" : schema ,
441
+ "name" : name ,
442
+ "description" : schema .get ("description" ),
443
+ "required" : name in parent .get ("required" , []),
444
+ },
445
+ )
438
446
else :
439
447
name = operation .get ("x-codegen-request-body-name" , "body" )
440
448
yield name , operation ["requestBody" ]
0 commit comments