From e9d464cf387fd554ea73df784430195f156568f9 Mon Sep 17 00:00:00 2001 From: CrispyBaconz <c.j.bouma@students.uu.nl> Date: Fri, 16 Apr 2021 12:04:33 +0200 Subject: [PATCH] Documentation for query translation Added comments for go linting --- internal/usecases/convertquery/aql.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/usecases/convertquery/aql.go b/internal/usecases/convertquery/aql.go index 90ff4d6..996c96a 100644 --- a/internal/usecases/convertquery/aql.go +++ b/internal/usecases/convertquery/aql.go @@ -69,6 +69,7 @@ func (s *Service) ConvertQuery(jsonMsg *[]byte) (*string, error) { return result, nil } +//convertJSONtoStruct reads a JSON file and sorts the data into the appropriate structs func convertJSONToStruct(jsonMsg *[]byte) (*parsedJSON, error) { jsonStruct := parsedJSON{} err := json.Unmarshal(*jsonMsg, &jsonStruct) @@ -80,6 +81,7 @@ func convertJSONToStruct(jsonMsg *[]byte) (*parsedJSON, error) { return &jsonStruct, nil } +//createQuery generates a query based on the json file provided func createQuery(jsonQuery *parsedJSON) *string { // GROTE SIDENOTE: // Vrij zeker dat een query waar alléén edges worden opgevraagd (#4) @@ -164,6 +166,7 @@ func createQuery(jsonQuery *parsedJSON) *string { return &ret } +//createNodeLet generates a 'LET' statement for a node related query func createNodeLet(node *entityStruct, name *string) *string { header := fmt.Sprintf("LET %v = (\n\tFOR x IN %v \n", *name, node.Type) footer := "\tRETURN x\n)\n" @@ -173,6 +176,7 @@ func createNodeLet(node *entityStruct, name *string) *string { return &ret } +//createRelationLetWithFromEntity generates a 'LET' statement for relations with an 'EntityFrom' property func createRelationLetWithFromEntity(relation *relationStruct, name string, entities *[]entityStruct) *string { header := fmt.Sprintf("LET %v = (\n\tFOR x IN n%v \n", name, relation.EntityFrom) forStatement := fmt.Sprintf("\tFOR v, e, p IN %v..%v OUTBOUND x %s \n", relation.Depth.Min, relation.Depth.Max, relation.Type) @@ -200,6 +204,7 @@ func createRelationLetWithFromEntity(relation *relationStruct, name string, enti return &ret } +//createRelationLetWithOnlyToEntity generates a 'LET' statement for relations with only an 'EntityTo' property func createRelationLetWithOnlyToEntity(relation *relationStruct, name string, entities *[]entityStruct) *string { header := fmt.Sprintf("LET %v = (\n\tFOR x IN n%v \n", name, relation.EntityTo) forStatement := fmt.Sprintf("\tFOR v, e, p IN %v..%v INBOUND x %s \n", relation.Depth.Min, relation.Depth.Max, relation.Type) -- GitLab