From 72f81214becd576ceeffed2075e373f996fbd101 Mon Sep 17 00:00:00 2001 From: Vargha Csongor Date: Tue, 16 Apr 2024 22:45:07 +0200 Subject: [PATCH] use snake case file naming convention --- backend/handlers/createPerson.go | 23 ++------------ backend/memgraph/create_person.go | 30 +++++++++++++++++++ ...Relationship.go => create_relationship.go} | 2 +- ...Relationship.go => delete_relationship.go} | 2 +- 4 files changed, 34 insertions(+), 23 deletions(-) create mode 100644 backend/memgraph/create_person.go rename backend/memgraph/{createRelationship.go => create_relationship.go} (97%) rename backend/memgraph/{deleteRelationship.go => delete_relationship.go} (97%) diff --git a/backend/handlers/createPerson.go b/backend/handlers/createPerson.go index c1db94a..4f668b2 100644 --- a/backend/handlers/createPerson.go +++ b/backend/handlers/createPerson.go @@ -1,12 +1,9 @@ package handlers import ( - "context" "encoding/json" - "fmt" "log" "net/http" - "time" "github.com/gin-gonic/gin" "github.com/google/uuid" @@ -16,12 +13,6 @@ import ( func CreatePerson(driver neo4j.DriverWithContext) gin.HandlerFunc { return func(c *gin.Context) { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - - session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead}) - defer session.Close(ctx) - if c.Request.Body == nil || c.ContentType() != "application/json" { log.Printf("ip: %s error: request body is empty or content type is not application/json", c.ClientIP()) c.JSON(http.StatusBadRequest, gin.H{"error": "content type must be application/json and request body must not be empty"}) @@ -46,20 +37,10 @@ func CreatePerson(driver neo4j.DriverWithContext) gin.HandlerFunc { return } - query := fmt.Sprintf("CREATE (n:Person {%s}) RETURN n;", person.ToString()) - - result, err := session.Run(ctx, query, nil) + rec, err := person.CreatePerson(driver) if err != nil { log.Printf("ip: %s error: %s", c.ClientIP(), err) - c.JSON(http.StatusInternalServerError, gin.H{"error": "internal server error"}) - - return - } - - rec, err := result.Single(ctx) - if err != nil { - log.Printf("ip: %s error: %s", c.ClientIP(), err) - c.JSON(http.StatusNotFound, gin.H{"error": "could not find person with information provided"}) + c.JSON(http.StatusNotFound, gin.H{"error": "could not create person with information provided"}) return } diff --git a/backend/memgraph/create_person.go b/backend/memgraph/create_person.go new file mode 100644 index 0000000..e9124c7 --- /dev/null +++ b/backend/memgraph/create_person.go @@ -0,0 +1,30 @@ +package memgraph + +import ( + "fmt" + "time" + + "github.com/neo4j/neo4j-go-driver/v5/neo4j" + "golang.org/x/net/context" +) + +func (p *Person) CreatePerson(driver neo4j.DriverWithContext) (*neo4j.Record, error) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeWrite}) + defer session.Close(ctx) + + if err := p.Verify(); err != nil { + return nil, err + } + + query := fmt.Sprintf("CREATE (n:Person {%s}) RETURN n;", p.ToString()) + + result, err := session.Run(ctx, query, nil) + if err != nil { + return nil, err + } + + return result.Single(ctx) +} diff --git a/backend/memgraph/createRelationship.go b/backend/memgraph/create_relationship.go similarity index 97% rename from backend/memgraph/createRelationship.go rename to backend/memgraph/create_relationship.go index 2a00204..0054a9f 100644 --- a/backend/memgraph/createRelationship.go +++ b/backend/memgraph/create_relationship.go @@ -12,7 +12,7 @@ func (r *Relationship) CreateRelationship(driver neo4j.DriverWithContext) (*neo4 ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead}) + session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeWrite}) defer session.Close(ctx) if err := r.Verify(); err != nil { diff --git a/backend/memgraph/deleteRelationship.go b/backend/memgraph/delete_relationship.go similarity index 97% rename from backend/memgraph/deleteRelationship.go rename to backend/memgraph/delete_relationship.go index c59943c..9555177 100644 --- a/backend/memgraph/deleteRelationship.go +++ b/backend/memgraph/delete_relationship.go @@ -12,7 +12,7 @@ func (r *Relationship) DeleteRelationship(driver neo4j.DriverWithContext) error ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead}) + session := driver.NewSession(ctx, neo4j.SessionConfig{AccessMode: neo4j.AccessModeWrite}) defer session.Close(ctx) if err := r.Verify(); err != nil {