From 3d96a404e607b922cf15e1372be57447f96f39e2 Mon Sep 17 00:00:00 2001 From: Aniokrait <43056135+Aniokrait@users.noreply.github.com> Date: Sun, 12 May 2024 00:33:47 +0900 Subject: [PATCH] [html2] Support alias types (#18579) * [html2] Support alias models to render html docs. * [html2] Fix compile error * [html2] Update sample --- .../codegen/DefaultGenerator.java | 16 +- .../main/resources/htmlDocs2/index.mustache | 18 +- .../codegen/DefaultCodegenTest.java | 3 +- .../codegen/DefaultGeneratorTest.java | 13 +- samples/documentation/html2/index.html | 445 ++++++++++-------- 5 files changed, 293 insertions(+), 202 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index b65a5fbd5d6..416dba5a8ac 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -442,7 +442,7 @@ public class DefaultGenerator implements Generator { } } - void generateModels(List files, List allModels, List unusedModels) { + void generateModels(List files, List allModels, List unusedModels, List aliasModels) { if (!generateModels) { // TODO: Process these anyway and add to dryRun info LOGGER.info("Skipping generation of models."); @@ -567,6 +567,8 @@ public class DefaultGenerator implements Generator { CodegenModel m = modelTemplate.getModel(); if (m.isAlias) { // alias to number, string, enum, etc, which should not be generated as model + // but aliases are still used to dereference models in some languages (such as in html2). + aliasModels.add(modelTemplate); // Store aliases in the separate list. continue; // Don't create user-defined classes for aliases } } @@ -1074,11 +1076,11 @@ public class DefaultGenerator implements Generator { generateVersionMetadata(files); } - Map buildSupportFileBundle(List allOperations, List allModels) { - return this.buildSupportFileBundle(allOperations, allModels, null); + Map buildSupportFileBundle(List allOperations, List allModels, List aliasModels) { + return this.buildSupportFileBundle(allOperations, allModels, aliasModels, null); } - Map buildSupportFileBundle(List allOperations, List allModels, List allWebhooks) { + Map buildSupportFileBundle(List allOperations, List allModels, List aliasModels, List allWebhooks) { Map bundle = new HashMap<>(config.additionalProperties()); bundle.put("apiPackage", config.apiPackage()); @@ -1100,6 +1102,7 @@ public class DefaultGenerator implements Generator { bundle.put("apiInfo", apis); bundle.put("webhooks", allWebhooks); bundle.put("models", allModels); + bundle.put("aliasModels", aliasModels); bundle.put("apiFolder", config.apiPackage().replace('.', File.separatorChar)); bundle.put("modelPackage", config.modelPackage()); bundle.put("library", config.getLibrary()); @@ -1225,7 +1228,8 @@ public class DefaultGenerator implements Generator { // models List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generateModels(files, allModels, filteredSchemas, aliasModels); // apis List allOperations = new ArrayList<>(); generateApis(files, allOperations, allModels); @@ -1233,7 +1237,7 @@ public class DefaultGenerator implements Generator { List allWebhooks = new ArrayList<>(); generateWebhooks(files, allWebhooks, allModels); // supporting files - Map bundle = buildSupportFileBundle(allOperations, allModels, allWebhooks); + Map bundle = buildSupportFileBundle(allOperations, allModels, aliasModels, allWebhooks); generateSupportingFiles(files, bundle); if (dryRun) { diff --git a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache index 2865781b099..04dafb2803b 100644 --- a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache +++ b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache @@ -151,6 +151,12 @@ {{/model}} {{/models}} + {{#aliasModels}} + {{#model}} + defs["{{name}}"] = {{{modelJson}}}; + {{/model}} + {{/aliasModels}} + var errs = {}; {{#swagger.vendorExtensions.x-shared-errors}} { @@ -459,11 +465,13 @@ } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index f0edab2db44..7266d71341c 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -1703,7 +1703,8 @@ public class DefaultCodegenTest { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); // check that the model's children contain the x-discriminator-values modelName = "BaseObj"; diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java index d3082a891f0..0a7cd881b14 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java @@ -660,11 +660,12 @@ public class DefaultGeneratorTest { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); List allOperations = new ArrayList<>(); generator.generateApis(files, allOperations, allModels); - Map bundle = generator.buildSupportFileBundle(allOperations, allModels); + Map bundle = generator.buildSupportFileBundle(allOperations, allModels, aliasModels); LinkedList servers = (LinkedList) bundle.get("servers"); Assert.assertEquals(servers.get(0).url, ""); Assert.assertEquals(servers.get(1).url, "http://trailingshlash.io:80/v1"); @@ -686,11 +687,12 @@ public class DefaultGeneratorTest { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); List allOperations = new ArrayList<>(); generator.generateApis(files, allOperations, allModels); - Map bundle = generator.buildSupportFileBundle(allOperations, allModels); + Map bundle = generator.buildSupportFileBundle(allOperations, allModels, aliasModels); LinkedList servers = (LinkedList) bundle.get("servers"); Assert.assertEquals(servers.get(0).url, "/relative/url"); } @@ -768,8 +770,9 @@ public class DefaultGeneratorTest { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); + List aliasModels = new ArrayList<>(); // The bug causes a StackOverflowError when calling generateModels - generator.generateModels(files, allModels, filteredSchemas); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); // all fine, we have passed } } diff --git a/samples/documentation/html2/index.html b/samples/documentation/html2/index.html index 192377211d3..a67f3492000 100644 --- a/samples/documentation/html2/index.html +++ b/samples/documentation/html2/index.html @@ -1017,6 +1017,7 @@ ul.nav-tabs { } }; + var errs = {}; @@ -1560,11 +1561,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -1622,11 +1625,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2043,11 +2048,13 @@ Pet id to delete } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2452,11 +2459,13 @@ Status values that need to be considered for filter } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2514,11 +2523,13 @@ Status values that need to be considered for filter } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2923,11 +2934,13 @@ Tags to filter by } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2985,11 +2998,13 @@ Tags to filter by } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3400,11 +3415,13 @@ ID of pet to return } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3462,11 +3479,13 @@ ID of pet to return } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3524,11 +3543,13 @@ ID of pet to return } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3992,11 +4013,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4054,11 +4077,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4116,11 +4141,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4178,11 +4205,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4634,11 +4663,13 @@ Updated status of the pet } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5115,11 +5146,13 @@ file to upload } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5463,11 +5496,13 @@ ID of the order that needs to be deleted } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5525,11 +5560,13 @@ ID of the order that needs to be deleted } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5895,11 +5932,13 @@ pub fn main() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6270,11 +6309,13 @@ ID of pet that needs to be fetched } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6332,11 +6373,13 @@ ID of pet that needs to be fetched } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6394,11 +6437,13 @@ ID of pet that needs to be fetched } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6794,11 +6839,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6856,11 +6903,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7274,11 +7323,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7692,11 +7743,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8110,11 +8163,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8495,11 +8550,13 @@ The name that needs to be deleted } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8557,11 +8614,13 @@ The name that needs to be deleted } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8929,11 +8988,13 @@ The name that needs to be fetched. Use user1 for testing. } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8991,11 +9052,13 @@ The name that needs to be fetched. Use user1 for testing. } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9053,11 +9116,13 @@ The name that needs to be fetched. Use user1 for testing. } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9491,11 +9556,13 @@ The password for login in clear text } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9581,11 +9648,13 @@ The password for login in clear text } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9925,11 +9994,13 @@ pub fn main() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10381,11 +10452,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10443,11 +10516,13 @@ $(document).ready(function() { } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else {