Skip to content

Commit 6dc690a

Browse files
committed
FE: fix nested fields for resolving external references to model
1 parent 4733e7c commit 6dc690a

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

forward_engineering/helpers/handleReferencePath.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
2+
const mapJsonSchema = require('../../reverse_engineering/helpers/adaptJsonSchema/mapJsonSchema');
3+
14
const COMPONENTS_SCHEMAS_OBJECT_INDEX = 2;
25
const REQUEST_BODY_OBJECT_INDEX = 2;
36
const RESPONSE_NAME_INDEX = 2;
@@ -26,10 +29,16 @@ const handleReferencePath = (externalDefinitions, { $ref: ref }) => {
2629
if (externalDefinition.fileType === 'targetSchema') {
2730
return { $ref: updateOpenApiPath(pathToFile, relativePath) };
2831
} else if (externalDefinition.fileType === 'hackoladeSchema') {
29-
const definition = { ...externalDefinition };
30-
delete definition.$ref;
32+
return mapJsonSchema(externalDefinition, field => {
33+
if (!field.$ref || field.type === 'reference') {
34+
return field;
35+
}
36+
37+
const definition = { ...field };
38+
delete definition.$ref;
3139

32-
return definition;
40+
return definition;
41+
});
3342
} else if (externalDefinition.fileType === 'jsonSchema') {
3443
return { $ref: fixJsonSchemaPath(pathToFile, relativePath) };;
3544
}

0 commit comments

Comments
 (0)