forked from loafle/openapi-generator-original
replace fromOperation with postProcessOperations
This commit is contained in:
parent
9d1ae0dd29
commit
adbde2fb61
@ -14,6 +14,7 @@ import org.openapitools.codegen.SupportingFile;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import io.swagger.v3.oas.models.OpenAPI;
|
import io.swagger.v3.oas.models.OpenAPI;
|
||||||
@ -260,35 +261,41 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
// not including base object test as the moment as not all API has model
|
// not including base object test as the moment as not all API has model
|
||||||
//writeOptional(outputFolder, new SupportingFile("base_object_spec.mustache", specFolder, "base_object_spec.rb"));
|
//writeOptional(outputFolder, new SupportingFile("base_object_spec.mustache", specFolder, "base_object_spec.rb"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map<String, Schema> schemas, OpenAPI openAPI) {
|
public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
|
||||||
CodegenOperation op = super.fromOperation(path, httpMethod, operation, schemas, openAPI);
|
Map<String, Object> operations = (Map<String, Object>) objs.get("operations");
|
||||||
// Set vendor-extension to be used in template:
|
List<CodegenOperation> operationList = (List<CodegenOperation>) operations.get("operation");
|
||||||
// x-codegen-hasMoreRequired
|
for (CodegenOperation op : operationList) {
|
||||||
// x-codegen-hasMoreOptional
|
// Set vendor-extension to be used in template:
|
||||||
// x-codegen-hasRequiredParams
|
// x-codegen-hasMoreRequired
|
||||||
CodegenParameter lastRequired = null;
|
// x-codegen-hasMoreOptional
|
||||||
CodegenParameter lastOptional = null;
|
// x-codegen-hasRequiredParams
|
||||||
for (CodegenParameter p : op.allParams) {
|
CodegenParameter lastRequired = null;
|
||||||
if (p.required) {
|
CodegenParameter lastOptional = null;
|
||||||
lastRequired = p;
|
for (CodegenParameter p : op.allParams) {
|
||||||
} else {
|
if (p.required) {
|
||||||
lastOptional = p;
|
lastRequired = p;
|
||||||
|
} else {
|
||||||
|
lastOptional = p;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
for (CodegenParameter p : op.allParams) {
|
for (CodegenParameter p : op.allParams) {
|
||||||
if (p == lastRequired) {
|
if (p == lastRequired) {
|
||||||
p.vendorExtensions.put("x-codegen-hasMoreRequired", false);
|
p.vendorExtensions.put("x-codegen-hasMoreRequired", false);
|
||||||
} else if (p == lastOptional) {
|
} else if (p == lastOptional) {
|
||||||
p.vendorExtensions.put("x-codegen-hasMoreOptional", false);
|
p.vendorExtensions.put("x-codegen-hasMoreOptional", false);
|
||||||
} else {
|
} else {
|
||||||
p.vendorExtensions.put("x-codegen-hasMoreRequired", true);
|
p.vendorExtensions.put("x-codegen-hasMoreRequired", true);
|
||||||
p.vendorExtensions.put("x-codegen-hasMoreOptional", true);
|
p.vendorExtensions.put("x-codegen-hasMoreOptional", true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
op.vendorExtensions.put("x-codegen-hasRequiredParams", lastRequired != null);
|
||||||
|
|
||||||
}
|
}
|
||||||
op.vendorExtensions.put("x-codegen-hasRequiredParams", lastRequired != null);
|
|
||||||
return op;
|
return objs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user