28 lines
1.0 KiB
Go
28 lines
1.0 KiB
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"e621_to_neo4j/e621/models"
|
|
)
|
|
|
|
// [X:Neo4J] Connection
|
|
// [X:Neo4J] Upload User
|
|
// [X:Neo4J] Upload Source
|
|
// [X:Neo4J] Upload Post
|
|
// [X:Neo4J] Upload Tag
|
|
// [X:Neo4J] Relationship Post->Tag
|
|
// [X:Neo4J] Relationship Post->Source
|
|
// [X:Neo4J] Relationship User->Post
|
|
|
|
type GraphConnection interface {
|
|
Connect(ctx context.Context, endpoint string, username string, password string) error
|
|
UploadUser(ctx context.Context, user models.E621User) error
|
|
UploadSource(ctx context.Context, SourceURL string) error
|
|
UploadPost(ctx context.Context, e621ID int64) error
|
|
UploadTag(ctx context.Context, name string, tagType string) error
|
|
EstablishPostToTagLink(ctx context.Context, e621PostID int64, e621Tag string) error
|
|
EstablishPostToSourceLink(ctx context.Context, e621PostID int64, sourceURL string) error
|
|
EstablishUserToPostLink(ctx context.Context, e621PostID int64, e621UserID int64) error
|
|
CheckUserToPostLink(ctx context.Context, e621PostID int64, e621UserID int64) (bool, error)
|
|
}
|