UNPKG

grafo-client

Version:

Grafo Client API Library

1 lines 1.76 kB
var DataTypes=require("./datatypes");function RelationshipBuilder(e,t,i){this.ekgDoc=e,this.relationship=t,this.isUpdate=i}module.exports=RelationshipBuilder,RelationshipBuilder.prototype.buildShareDbFormatRelationship=function(){this.relationship.setShareDbFormatLinkObjForFromConcept(this.createNewOrBuildRelationshipObj(this.ekgDoc.getConcept(this.relationship.fromConceptId))),this.relationship.fromConceptId!==this.relationship.toConceptId&&this.relationship.setShareDbFormatLinkObjForToConcept(this.createNewOrBuildRelationshipObj(this.ekgDoc.getConcept(this.relationship.toConceptId)))},RelationshipBuilder.prototype.createNewOrBuildRelationshipObj=function(e){var t=this.relationship.createShareDbFormatLinkObj(e),i=e.getFromLinks(),a=e.getToLinks();if(i&&i.length>0)for(var o=0;o<i.length;o++){var r=this.ekgDoc.getRelationshipInternal(i[o]);this.isUpdate&&this.relationship.getId()===r.getId()||("specialization"===r.getRelationShipType().linkType?t[r.getRelTypeForSpecialization(e).arrayName].push(r.getShareDbFormatLinkData(e)):t[r.getRelationShipType().arrayName].push(r.getShareDbFormatLinkData(e)))}if(a&&a.length>0)for(o=0;o<a.length;o++){r=this.ekgDoc.getRelationshipInternal(a[o]);this.isUpdate&&this.relationship.getId()===r.getId()||("specialization"===r.getRelationShipType().linkType?t[r.getRelTypeForSpecialization(e).arrayName].push(r.getShareDbFormatLinkData(e)):t[r.getRelationShipType().arrayName].push(r.getShareDbFormatLinkData(e)))}return"specialization"===this.relationship.getRelationShipType().linkType?t[this.relationship.getRelTypeForSpecialization(e).arrayName].push(this.relationship.getShareDbFormatLinkData(e)):t[this.relationship.getRelationShipType().arrayName].push(this.relationship.getShareDbFormatLinkData(e)),t};