From e3377d84eaf853d124742d28566436668e230b6a Mon Sep 17 00:00:00 2001
From: Kieran van Gaalen <kieran.van.gaalen@casema.nl>
Date: Fri, 12 Nov 2021 14:20:57 +0100
Subject: [PATCH] converQuery2 now works with hierarchy

---
 aql/convertQuery2.go | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/aql/convertQuery2.go b/aql/convertQuery2.go
index 30db4b8..2170b4c 100644
--- a/aql/convertQuery2.go
+++ b/aql/convertQuery2.go
@@ -67,12 +67,9 @@ func createQuery(JSONQuery *entity.IncomingQueryJSON, tree []entity.Tree, topNod
 	for constraint := range topNode.Constraints {
 		output += createFilter(topNode.Constraints[constraint], fmt.Sprintf("e_%v", topNode.ID))
 	}
-	var subNames []string
-	for i := range tree[0].Children {
-		subQuery, subName := createQueryRecurse(JSONQuery, tree, tree[0].Children[i])
-		output += subQuery
-		subNames = append(subNames, subName)
-	}
+	subQuery, subName := createQueryRecurse(JSONQuery, tree, 0)
+	subNames := []string{subName}
+	output += subQuery
 	output += createZeroFilter(append(subNames, fmt.Sprintf("e_%v", topNode.ID)))
 	output += createReturn(fmt.Sprintf("e_%v", topNode.ID), "", subNames)
 	output += "let nodes = union_distinct(flatten(result[**].nodes),[])\nlet edges = union_distinct(flatten(result[**].rel),[])\nreturn {\"vertices\":nodes,\"edges\":edges}"
@@ -107,10 +104,10 @@ func createQueryRecurse(JSONQuery *entity.IncomingQueryJSON, tree []entity.Tree,
 }
 
 func getTreeNewAndOldNode(currentTree entity.Tree, tree []entity.Tree) (entity.QueryEntityStruct, entity.QueryEntityStruct) {
-	if currentTree.Self.In.ID == tree[currentTree.Parent].Self.In.ID || currentTree.Self.In.ID == tree[currentTree.Parent].Self.Out.ID {
-		return currentTree.Self.Out, currentTree.Self.In
+	if currentTree.Self.FromNode.ID == tree[currentTree.Parent].Self.FromNode.ID || currentTree.Self.FromNode.ID == tree[currentTree.Parent].Self.ToNode.ID {
+		return currentTree.Self.ToNode, currentTree.Self.FromNode
 	} else {
-		return currentTree.Self.In, currentTree.Self.Out
+		return currentTree.Self.FromNode, currentTree.Self.ToNode
 	}
 }
 
-- 
GitLab