Skip to content

Commit 8a60196

Browse files
authored
FE: fixed usage of wrong definition because of the same name (#158)
1 parent f0e1990 commit 8a60196

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

forward_engineering/api.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,21 @@ const { SCRIPT_TYPES, SCHEMA_REGISTRIES_KEYS } = require('../shared/constants');
55
const { parseJson, prepareName } = require('./helpers/generalHelper');
66
const validateAvroScript = require('./helpers/validateAvroScript');
77
const { formatAvroSchemaByType, getConfluentSubjectName } = require('./helpers/formatAvroSchemaByType');
8-
const { resolveUdt, addDefinitions, resetDefinitionsUsage, convertCollectionReferences, resolveNamespaceReferences } = require('./helpers/udtHelper');
8+
const {
9+
resolveUdt,
10+
addDefinitions,
11+
resetDefinitionsUsage,
12+
convertCollectionReferences,
13+
resolveNamespaceReferences,
14+
clearDefinitions,
15+
} = require('./helpers/udtHelper');
916
const convertSchema = require('./helpers/convertJsonSchemaToAvro');
10-
const { initPluginConfiguration, getCustomProperties, getEntityLevelConfig, getFieldLevelConfig } = require('../shared/customProperties');
17+
const {
18+
initPluginConfiguration,
19+
getCustomProperties,
20+
getEntityLevelConfig,
21+
getFieldLevelConfig,
22+
} = require('../shared/customProperties');
1123
let _;
1224

1325
const generateModelScript = (data, logger, cb, app) => {
@@ -23,8 +35,8 @@ const generateModelScript = (data, logger, cb, app) => {
2335
const scriptType = getScriptType(data, modelData) || SCRIPT_TYPES.CONFLUENT_SCHEMA_REGISTRY;
2436
const needMinify = isMinifyNeeded(options);
2537

26-
setUserDefinedTypes(externalDefinitions);
27-
setUserDefinedTypes(modelDefinitions);
38+
const convertedExternalDefinitions = convertSchemaToUserDefinedTypes(externalDefinitions)
39+
const convertedModelDefinitions = convertSchemaToUserDefinedTypes(modelDefinitions)
2840

2941
const entities = (containers || [])
3042
.flatMap(container => container.entities
@@ -40,6 +52,10 @@ const generateModelScript = (data, logger, cb, app) => {
4052
internalDefinitions,
4153
references,
4254
} = entity;
55+
56+
clearDefinitions();
57+
addDefinitions(convertedExternalDefinitions);
58+
addDefinitions(convertedModelDefinitions);
4359
setUserDefinedTypes(internalDefinitions);
4460
resetDefinitionsUsage();
4561

forward_engineering/helpers/udtHelper.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ const addDefinitions = definitions => {
165165
udt = { ...udt, ...definitions };
166166
};
167167

168+
const clearDefinitions = () => {
169+
udt = {};
170+
}
171+
168172
const resetDefinitionsUsage = () => {
169173
_ = dependencies.lodash;
170174

@@ -343,6 +347,7 @@ module.exports = {
343347
resolveUdt,
344348
getUdtItem,
345349
addDefinitions,
350+
clearDefinitions,
346351
convertSchemaToReference,
347352
resetDefinitionsUsage,
348353
convertCollectionReferences,

0 commit comments

Comments
 (0)