Documentation
¶
Overview ¶
Package stashbox provides a client interface to a stash-box server instance.
Index ¶
- Constants
- type Client
- func (c Client) FindPerformerByID(ctx context.Context, id string) (*models.ScrapedPerformer, error)
- func (c Client) FindPerformerByName(ctx context.Context, name string) (*models.ScrapedPerformer, error)
- func (c Client) FindSceneByFingerprints(ctx context.Context, fps models.Fingerprints) ([]*models.ScrapedScene, error)
- func (c Client) FindScenesByFingerprints(ctx context.Context, fps []models.Fingerprints) ([][]*models.ScrapedScene, error)
- func (c Client) FindStudio(ctx context.Context, query string) (*models.ScrapedStudio, error)
- func (c Client) GetUser(ctx context.Context) (*graphql.Me, error)
- func (c Client) QueryPerformer(ctx context.Context, queryStr string) ([]*models.ScrapedPerformer, error)
- func (c Client) QueryPerformers(ctx context.Context, names []string) ([][]*models.ScrapedPerformer, error)
- func (c Client) QueryScene(ctx context.Context, queryStr string) ([]*models.ScrapedScene, error)
- func (c Client) QueryTag(ctx context.Context, query string) ([]*models.ScrapedTag, error)
- func (c Client) SubmitFingerprints(ctx context.Context, scenes []*models.Scene) (bool, error)
- func (c Client) SubmitPerformerDraft(ctx context.Context, performer *models.Performer, img []byte) (*string, error)
- func (c Client) SubmitSceneDraft(ctx context.Context, d SceneDraft) (*string, error)
- type ClientOption
- type SceneDraft
Constants ¶
const DefaultMaxRequestsPerMinute = 240
DefaultMaxRequestsPerMinute is the default maximum number of requests per minute.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents the client interface to a stash-box server instance.
func NewClient ¶
func NewClient(box models.StashBox, options ...ClientOption) *Client
NewClient returns a new instance of a stash-box client.
func (Client) FindPerformerByID ¶
FindPerformerByID queries stash-box for a performer by ID.
func (Client) FindPerformerByName ¶
func (c Client) FindPerformerByName(ctx context.Context, name string) (*models.ScrapedPerformer, error)
FindPerformerByName queries stash-box for a performer by name. Unlike QueryPerformer, this function will only return a performer if the name matches exactly.
func (Client) FindSceneByFingerprints ¶
func (c Client) FindSceneByFingerprints(ctx context.Context, fps models.Fingerprints) ([]*models.ScrapedScene, error)
FindStashBoxScenesByFingerprints queries stash-box for a scene using the scene's MD5/OSHASH checksum, or PHash.
func (Client) FindScenesByFingerprints ¶
func (c Client) FindScenesByFingerprints(ctx context.Context, fps []models.Fingerprints) ([][]*models.ScrapedScene, error)
FindScenesByFingerprints queries stash-box for scenes using every scene's MD5/OSHASH checksum, or PHash, and returns results in the same order as the input slice.
func (Client) FindStudio ¶
func (Client) QueryPerformer ¶
func (c Client) QueryPerformer(ctx context.Context, queryStr string) ([]*models.ScrapedPerformer, error)
QueryPerformer queries stash-box for performers using a query string.
func (Client) QueryPerformers ¶
func (c Client) QueryPerformers(ctx context.Context, names []string) ([][]*models.ScrapedPerformer, error)
QueryPerformers queries stash-box for performers using a list of names.
func (Client) QueryScene ¶
QueryScene queries stash-box for scenes using a query string.
func (Client) QueryTag ¶ added in v0.30.0
QueryTag searches for tags by name or ID. If query is a valid UUID, it searches by ID (returns single result). Otherwise, it searches by name (returns multiple results).
func (Client) SubmitFingerprints ¶
func (Client) SubmitPerformerDraft ¶
func (c Client) SubmitPerformerDraft(ctx context.Context, performer *models.Performer, img []byte) (*string, error)
SubmitPerformerDraft submits a performer draft to stash-box. The performer parameter must have aliases, URLs and stash IDs loaded.
func (Client) SubmitSceneDraft ¶
type ClientOption ¶
type ClientOption func(*Client)
func ExcludeTagPatterns ¶
func ExcludeTagPatterns(patterns []string) ClientOption
func MaxRequestsPerMinute ¶
func MaxRequestsPerMinute(n int) ClientOption