Skip to content

Commit 47d0d69

Browse files
authored
HCK-14142: fix the priority of definitions and records in FE on model level (#206)
1 parent 39a083e commit 47d0d69

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

forward_engineering/api.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const {
1111
resolveNamespaceReferences,
1212
clearDefinitions,
1313
resolveSchemaUdt,
14+
getDefinitionsOfCollectionReferences,
1415
} = require('./helpers/udtHelper');
1516
const convertSchema = require('./helpers/convertJsonSchemaToAvro');
1617
const {
@@ -42,14 +43,18 @@ const generateModelScript = (data, logger, cb, app) => {
4243
externalDefinitions: parseJson(externalDefinitions),
4344
}));
4445

45-
const script = handleCollectionReferences(entities, options).map(entity => {
46+
const entitiesWithHandledCollectionReferences = handleCollectionReferences(entities, options);
47+
const collectionDefinitions = getDefinitionsOfCollectionReferences();
48+
49+
const script = entitiesWithHandledCollectionReferences.map(entity => {
4650
try {
4751
const { containerData, entityData, jsonSchema, internalDefinitions, references } = entity;
4852

4953
clearDefinitions();
5054
addDefinitions(convertedExternalDefinitions);
5155
addDefinitions(convertedModelDefinitions);
5256
setUserDefinedTypes(internalDefinitions, true);
57+
addDefinitions(collectionDefinitions);
5358
resetDefinitionsUsage();
5459

5560
const settings = getSettings({ containerData, entityData, modelData, references });

forward_engineering/helpers/udtHelper.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,10 @@ const getExternalReferenceDefinition = (field, externalDefinitions) => {
369369
});
370370
};
371371

372+
const getDefinitionsOfCollectionReferences = () => {
373+
return Object.fromEntries(Object.entries(udt).filter(([key, value]) => value?.isCollectionReference));
374+
};
375+
372376
module.exports = {
373377
resolveUdt,
374378
resolveSchemaUdt,
@@ -379,4 +383,5 @@ module.exports = {
379383
resetDefinitionsUsage,
380384
convertCollectionReferences,
381385
resolveNamespaceReferences,
386+
getDefinitionsOfCollectionReferences,
382387
};

0 commit comments

Comments
 (0)