@@ -95,17 +95,7 @@ public void enhanceParameters(Map<String, Object> parameters, Map<String, Object
95
95
AlgoliaGoGenerator .canFlattenBody (operation )
96
96
) {
97
97
// flatten the body params by skipping one level
98
- Map <String , Object > bodyParams = (Map <String , Object >) param .getValue ();
99
- for (String nestedParam : bodyParams .keySet ()) {
100
- for (CodegenProperty prop : operation .bodyParam .getVars ()) {
101
- if (prop .baseName .equals (nestedParam )) {
102
- Map <String , Object > paramWithType = traverseParams (prop .baseName , bodyParams .get (nestedParam ), prop , "" , 0 , false );
103
- parametersWithDataType .add (paramWithType );
104
- parametersWithDataTypeMap .put ((String ) paramWithType .get ("key" ), paramWithType );
105
- break ;
106
- }
107
- }
108
- }
98
+ flattenBodyParams ((Map <String , Object >) param .getValue (), operation , parametersWithDataType );
109
99
} else {
110
100
Map <String , Object > paramWithType = traverseParams (param .getKey (), param .getValue (), specParam , "" , 0 , false );
111
101
parametersWithDataType .add (paramWithType );
@@ -115,16 +105,7 @@ public void enhanceParameters(Map<String, Object> parameters, Map<String, Object
115
105
}
116
106
} else if (language .equals ("go" ) && parameters != null && operation .bodyParam .getVars ().size () > 0 ) {
117
107
// also flatten when the body is the only parameter
118
- for (String nestedParam : parameters .keySet ()) {
119
- for (CodegenProperty prop : operation .bodyParam .getVars ()) {
120
- if (prop .baseName .equals (nestedParam )) {
121
- Map <String , Object > paramWithType = traverseParams (prop .baseName , parameters .get (nestedParam ), prop , "" , 0 , false );
122
- parametersWithDataType .add (paramWithType );
123
- parametersWithDataTypeMap .put ((String ) paramWithType .get ("key" ), paramWithType );
124
- break ;
125
- }
126
- }
127
- }
108
+ flattenBodyParams (parameters , operation , parametersWithDataType );
128
109
} else {
129
110
Map <String , Object > paramWithType = traverseParams (paramName , parameters , spec , "" , 0 , false );
130
111
parametersWithDataType .add (paramWithType );
@@ -142,6 +123,22 @@ private String toJSONWithVar(Map<String, Object> parameters) throws JsonProcessi
142
123
return Json .mapper ().writeValueAsString (parameters ).replaceAll ("\" \\ $var: (.*?)\" " , "$1" );
143
124
}
144
125
126
+ private void flattenBodyParams (
127
+ Map <String , Object > parameters ,
128
+ CodegenOperation operation ,
129
+ List <Map <String , Object >> parametersWithDataType
130
+ ) throws CTSException {
131
+ for (String nestedParam : parameters .keySet ()) {
132
+ for (CodegenProperty prop : operation .bodyParam .getVars ()) {
133
+ if (prop .baseName .equals (nestedParam )) {
134
+ Map <String , Object > paramWithType = traverseParams (prop .baseName , parameters .get (nestedParam ), prop , "" , 0 , false );
135
+ parametersWithDataType .add (paramWithType );
136
+ break ;
137
+ }
138
+ }
139
+ }
140
+ }
141
+
145
142
private Map <String , Object > traverseParams (
146
143
String paramName ,
147
144
Object param ,
0 commit comments