added first neo4j integration
This commit is contained in:
parent
7bf67372e9
commit
1dd14b9c82
15
neo4jAPI/connection.go
Normal file
15
neo4jAPI/connection.go
Normal file
@ -0,0 +1,15 @@
|
||||
package neo4jAPI
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||
)
|
||||
|
||||
func NewConnection(uri string, username string, password string) (neo4j.DriverWithContext, error) {
|
||||
driver, err := neo4j.NewDriverWithContext(uri, neo4j.BasicAuth(username, password, ""))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to create Neo4j driver: %v", err)
|
||||
}
|
||||
return driver, nil
|
||||
|
||||
}
|
24
neo4jAPI/tag.go
Normal file
24
neo4jAPI/tag.go
Normal file
@ -0,0 +1,24 @@
|
||||
package neo4jAPI
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||
)
|
||||
|
||||
func CreateTagNode(ctx context.Context, driver neo4j.DriverWithContext, name string, tagType string) error {
|
||||
query := `
|
||||
MERGE (u:e621Tag {e621Tag: $name, e621TagType: $tagType})
|
||||
RETURN u
|
||||
`
|
||||
params := map[string]interface{}{
|
||||
"name": name,
|
||||
"tagType": tagType,
|
||||
}
|
||||
|
||||
_, err := neo4j.ExecuteQuery(ctx, driver, query, params, neo4j.EagerResultTransformer)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
27
neo4jAPI/user.go
Normal file
27
neo4jAPI/user.go
Normal file
@ -0,0 +1,27 @@
|
||||
package neo4jAPI
|
||||
|
||||
import (
|
||||
"context"
|
||||
"e621_to_neo4j/e621/api/models"
|
||||
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||
"log"
|
||||
)
|
||||
|
||||
func CreateUserNode(ctx context.Context, driver neo4j.DriverWithContext, user models.E621User) error {
|
||||
query := `
|
||||
MERGE (u:e621User {e621ID: $id, e621Username: $name})
|
||||
RETURN u
|
||||
`
|
||||
params := map[string]interface{}{
|
||||
"id": user.ID,
|
||||
"name": user.Name,
|
||||
}
|
||||
|
||||
_, err := neo4j.ExecuteQuery(ctx, driver, query, params, neo4j.EagerResultTransformer)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Println("User node created successfully!")
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user