Skip to content

Commit 4c7e982

Browse files
committed
more refacto
1 parent 5421e8d commit 4c7e982

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,7 @@ public void enhanceParameters(Map<String, Object> parameters, Map<String, Object
9595
AlgoliaGoGenerator.canFlattenBody(operation)
9696
) {
9797
// 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);
10999
} else {
110100
Map<String, Object> paramWithType = traverseParams(param.getKey(), param.getValue(), specParam, "", 0, false);
111101
parametersWithDataType.add(paramWithType);
@@ -115,16 +105,7 @@ public void enhanceParameters(Map<String, Object> parameters, Map<String, Object
115105
}
116106
} else if (language.equals("go") && parameters != null && operation.bodyParam.getVars().size() > 0) {
117107
// 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);
128109
} else {
129110
Map<String, Object> paramWithType = traverseParams(paramName, parameters, spec, "", 0, false);
130111
parametersWithDataType.add(paramWithType);
@@ -142,6 +123,22 @@ private String toJSONWithVar(Map<String, Object> parameters) throws JsonProcessi
142123
return Json.mapper().writeValueAsString(parameters).replaceAll("\"\\$var: (.*?)\"", "$1");
143124
}
144125

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+
145142
private Map<String, Object> traverseParams(
146143
String paramName,
147144
Object param,

0 commit comments

Comments
 (0)