diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java index 23404c7814412f4637e0326fe3e46e0f3b03dfb2..a917eaf3b93c0b8a6ec82d3e3882824282e164c4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java @@ -1006,6 +1006,27 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo return objs; } + @Override + public Map<String, Object> postProcessAllModels(Map<String, Object> objs) { + objs = super.postProcessAllModels(objs); + for (Map.Entry<String, Object> entry : objs.entrySet()) { + CodegenModel cm = ModelUtils.getModelByName(entry.getKey(), objs); + + if (supportsInheritance || supportsMixins) { + if (cm.interfaceModels != null) { + for (CodegenModel cmInterface : cm.interfaceModels) { + for (CodegenProperty var : cmInterface.allVars) { + if (Boolean.TRUE.equals(var.required)) { + ((List<CodegenProperty>) cm.vendorExtensions.get("x-all-required")).add(var); + } + } + } + } + } + } + return objs; + } + @SuppressWarnings("unchecked") @Override public Map<String, Object> postProcessModels(Map<String, Object> objs) {