package logic import ( "context" "git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model" ) type GraphConnection interface { Connect(ctx context.Context, endpoint string, username string, password string) error UploadUser(ctx context.Context, user model.User) error UploadSource(ctx context.Context, SourceURL string) error UploadPost(ctx context.Context, e621ID model.PostID) error UploadTag(ctx context.Context, name string, tagType string) error EstablishPostToTagLink(ctx context.Context, e621PostID model.PostID, e621Tag string) error EstablishPostToSourceLink(ctx context.Context, e621PostID model.PostID, sourceURL string) error EstablishUserToPostLink(ctx context.Context, e621PostID model.PostID, e621UserID model.UserID) error CheckUserToPostLink(ctx context.Context, e621PostID model.PostID, e621UserID model.UserID) (bool, error) GetUserFavoriteCount(ctx context.Context, userID model.UserID) (int64, error) }