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) }