UNPKG

generator-begcode

Version:

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

34 lines (33 loc) 2 kB
import JDLRelationship from '../../models/jdl-relationship.js'; import { lowerFirst } from '../../utils/string-utils.js'; import { formatComment } from '../../utils/format-utils.js'; import { asJdlRelationshipType } from '../../jhipster/relationship-types.js'; export default { convertRelationships }; export function convertRelationships(parsedRelationships, annotationToOptionConverter) { if (!parsedRelationships) { throw new Error('Relationships have to be passed so as to be converted.'); } return parsedRelationships.map(parsedRelationship => { const relationshipConfiguration = { from: parsedRelationship.from.name, to: parsedRelationship.to.name, type: asJdlRelationshipType(parsedRelationship.cardinality), injectedFieldInFrom: parsedRelationship.from.injectedField, injectedFieldInTo: parsedRelationship.to.injectedField, isInjectedFieldInFromRequired: parsedRelationship.from.required, isInjectedFieldInToRequired: parsedRelationship.to.required, commentInFrom: formatComment(parsedRelationship.from.documentation), commentInTo: formatComment(parsedRelationship.to.documentation), options: { global: annotationToOptionConverter.call(undefined, parsedRelationship.options.global), source: annotationToOptionConverter.call(undefined, parsedRelationship.options.source), destination: annotationToOptionConverter.call(undefined, parsedRelationship.options.destination), }, }; if (!relationshipConfiguration.injectedFieldInFrom && !relationshipConfiguration.injectedFieldInTo) { relationshipConfiguration.injectedFieldInFrom = lowerFirst(relationshipConfiguration.to); relationshipConfiguration.injectedFieldInTo = lowerFirst(relationshipConfiguration.from); } return new JDLRelationship(relationshipConfiguration); }); }