UNPKG

generator-begcode

Version:

Spring Boot + Angular/React/Vue in one handy generator

42 lines (41 loc) 1.7 kB
import RelationshipIssue from './issues/relationship-issue.js'; import { rulesNames } from './rules.js'; import { relationshipTypes } from '../jhipster/index.js'; let issues; export default { checkRelationships, }; export function checkRelationships(relationshipDeclarations) { if (!relationshipDeclarations || relationshipDeclarations.length === 0) { return []; } issues = []; checkForCollapsibleRelationships(relationshipDeclarations); return issues; } function checkForCollapsibleRelationships(relationshipDeclarations) { const sortedRelationships = { [relationshipTypes.ONE_TO_ONE]: [], [relationshipTypes.ONE_TO_MANY]: [], [relationshipTypes.MANY_TO_ONE]: [], [relationshipTypes.MANY_TO_MANY]: [], }; relationshipDeclarations.forEach((relationshipDeclaration) => { const type = relationshipDeclaration.children.relationshipType[0].children.RELATIONSHIP_TYPE[0].image; const from = relationshipDeclaration.children.relationshipBody[0].children.from[0].children.NAME[0].image; const to = relationshipDeclaration.children.relationshipBody[0].children.to[0].children.NAME[0].image; sortedRelationships[type].push({ from, to }); }); Object.keys(sortedRelationships).forEach(type => { if (sortedRelationships[type].length > 1) { sortedRelationships[type].forEach(relationship => { issues.push(new RelationshipIssue({ ruleName: rulesNames.REL_INDIVIDUAL_DECL, from: relationship.from, to: relationship.to, type, })); }); } }); }