From 62f01251000b5b0fd40ef9c00882a494791badfa Mon Sep 17 00:00:00 2001 From: Ferdi Koomen Date: Wed, 13 Nov 2019 21:45:32 +0100 Subject: [PATCH] - Working on sub properties --- src/openApi/v2/parser/getSchema.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/openApi/v2/parser/getSchema.ts b/src/openApi/v2/parser/getSchema.ts index 8b68f389..21b04e90 100644 --- a/src/openApi/v2/parser/getSchema.ts +++ b/src/openApi/v2/parser/getSchema.ts @@ -107,11 +107,18 @@ export function getSchema(openApi: OpenApi, schema: OpenApiSchema, required: boo // Merge properties of other models if (parent.properties) { - console.log(parent.properties); - // const properties: ParsedModelProperties = parseModelProperties(modelClass, definition.allOf[1].properties as SwaggerDefinitions, required); - // model.imports.push(...properties.imports); - // model.properties.push(...properties.properties); - // model.enums.push(...properties.enums); + const properties: Dictionary | undefined = schema.properties; + for (const propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + const propertyOrReference: OpenApiSchema & OpenApiReference = properties[propertyName]; + const property: OpenApiSchema = getRef(openApi, propertyOrReference); + const propertySchema: Schema = getSchema(openApi, property); + console.log('propertyName 2', propertyName, propertySchema); + // model.imports.push(...properties.imports); + // model.properties.push(...properties.properties); + // model.enums.push(...properties.enums); + } + } } }); } @@ -119,7 +126,10 @@ export function getSchema(openApi: OpenApi, schema: OpenApiSchema, required: boo const properties: Dictionary | undefined = schema.properties; for (const propertyName in properties) { if (properties.hasOwnProperty(propertyName)) { - const property = properties[propertyName]; + const propertyOrReference: OpenApiSchema & OpenApiReference = properties[propertyName]; + const property: OpenApiSchema = getRef(openApi, propertyOrReference); + const propertySchema: Schema = getSchema(openApi, property); + console.log('propertyName 1', propertyName, propertySchema); // console.log('property??', property); // console.log('propertyName', propertyName); // getModelProperty(propertyName, property);