Skip to content

Commit

Permalink
feat(cli): populate foreignKeys field when creating relations in disc…
Browse files Browse the repository at this point in the history
…over command

Signed-off-by: Awais Saeed <[email protected]>
  • Loading branch information
awaissaeedforenax committed May 17, 2022
1 parent 6a4a158 commit 8f1ec57
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions packages/cli/generators/discover/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ module.exports = class DiscoveryGenerator extends ArtifactGenerator {
if (this.options.relations) {
const relationImports = [];
const relationDestinationImports = [];
const foreignKeys = {};
for (const relationName in templateData.settings.relations) {
const relation = templateData.settings.relations[relationName];
const targetModel = this.artifactInfo.modelDefinitions.find(
Expand All @@ -343,12 +344,25 @@ module.exports = class DiscoveryGenerator extends ArtifactGenerator {
});
relationImports.push(relation.type);
relationDestinationImports.push(relation.model);

foreignKeys[relationName] = {};
Object.assign(foreignKeys[relationName], {
name: relationName,
entity: relation.model,
entityKey: Object.entries(targetModel.properties).find(
x => x?.[1].id === 1,
)?.[0],
foreignKey: relation.foreignKey,
});
}
}
templateData.relationImports = relationImports;
templateData.relationDestinationImports = relationDestinationImports;
// Delete relation from modelSettings
delete templateData.settings.relations;
if (Object.keys(foreignKeys)?.length > 0) {
Object.assign(templateData.settings, {foreignKeys});
}
templateData.modelSettings = utils.stringifyModelSettings(
templateData.settings,
);
Expand Down

0 comments on commit 8f1ec57

Please sign in to comment.