graphql

package
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2023 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const FindPerformerByIDDocument = `` /* 858-byte string literal not displayed */
View Source
const FindSceneByFingerprintDocument = `` /* 1558-byte string literal not displayed */
View Source
const FindSceneByIDDocument = `` /* 1490-byte string literal not displayed */
View Source
const FindScenesByFullFingerprintsDocument = `` /* 1576-byte string literal not displayed */
View Source
const FindScenesBySceneFingerprintsDocument = `` /* 1581-byte string literal not displayed */
View Source
const MeDocument = `query Me {
	me {
		name
	}
}
`
View Source
const SearchPerformerDocument = `` /* 868-byte string literal not displayed */
View Source
const SearchSceneDocument = `` /* 1500-byte string literal not displayed */
View Source
const SubmitFingerprintDocument = `mutation SubmitFingerprint ($input: FingerprintSubmission!) {
	submitFingerprint(input: $input)
}
`
View Source
const SubmitPerformerDraftDocument = `mutation SubmitPerformerDraft ($input: PerformerDraftInput!) {
	submitPerformerDraft(input: $input) {
		id
	}
}
`
View Source
const SubmitSceneDraftDocument = `mutation SubmitSceneDraft ($input: SceneDraftInput!) {
	submitSceneDraft(input: $input) {
		id
	}
}
`

Variables

Functions

This section is empty.

Types

type ActivateNewUserInput added in v0.7.0

type ActivateNewUserInput struct {
	Name          string `json:"name"`
	Email         string `json:"email"`
	ActivationKey string `json:"activation_key"`
	Password      string `json:"password"`
}

type ApplyEditInput

type ApplyEditInput struct {
	ID string `json:"id"`
}

type BodyModification

type BodyModification struct {
	Location    string  `json:"location"`
	Description *string `json:"description,omitempty"`
}

type BodyModificationCriterionInput

type BodyModificationCriterionInput struct {
	Location    *string           `json:"location,omitempty"`
	Description *string           `json:"description,omitempty"`
	Modifier    CriterionModifier `json:"modifier"`
}

type BodyModificationFragment

type BodyModificationFragment struct {
	Location    string  "json:\"location\" graphql:\"location\""
	Description *string "json:\"description\" graphql:\"description\""
}

type BodyModificationInput

type BodyModificationInput struct {
	Location    string  `json:"location"`
	Description *string `json:"description,omitempty"`
}

type BreastTypeCriterionInput

type BreastTypeCriterionInput struct {
	Value    *BreastTypeEnum   `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type BreastTypeEnum

type BreastTypeEnum string
const (
	BreastTypeEnumNatural BreastTypeEnum = "NATURAL"
	BreastTypeEnumFake    BreastTypeEnum = "FAKE"
	BreastTypeEnumNa      BreastTypeEnum = "NA"
)

func (BreastTypeEnum) IsValid

func (e BreastTypeEnum) IsValid() bool

func (BreastTypeEnum) MarshalGQL

func (e BreastTypeEnum) MarshalGQL(w io.Writer)

func (BreastTypeEnum) String

func (e BreastTypeEnum) String() string

func (*BreastTypeEnum) UnmarshalGQL

func (e *BreastTypeEnum) UnmarshalGQL(v interface{}) error

type CancelEditInput

type CancelEditInput struct {
	ID string `json:"id"`
}

type Client

type Client struct {
	Client *client.Client
}

func (*Client) FindPerformerByID added in v0.7.0

func (c *Client) FindPerformerByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindPerformerByID, error)

func (*Client) FindSceneByFingerprint

func (c *Client) FindSceneByFingerprint(ctx context.Context, fingerprint FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByFingerprint, error)

func (*Client) FindSceneByID added in v0.11.0

func (c *Client) FindSceneByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByID, error)

func (*Client) FindScenesByFullFingerprints added in v0.11.0

func (c *Client) FindScenesByFullFingerprints(ctx context.Context, fingerprints []*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesByFullFingerprints, error)

func (*Client) FindScenesBySceneFingerprints added in v0.16.0

func (c *Client) FindScenesBySceneFingerprints(ctx context.Context, fingerprints [][]*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesBySceneFingerprints, error)

func (*Client) Me added in v0.13.0

func (c *Client) Me(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*Me, error)

func (*Client) SearchPerformer added in v0.7.0

func (c *Client) SearchPerformer(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchPerformer, error)

func (*Client) SearchScene

func (c *Client) SearchScene(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchScene, error)

func (*Client) SubmitFingerprint

func (c *Client) SubmitFingerprint(ctx context.Context, input FingerprintSubmission, httpRequestOptions ...client.HTTPRequestOption) (*SubmitFingerprint, error)

func (*Client) SubmitPerformerDraft added in v0.13.0

func (c *Client) SubmitPerformerDraft(ctx context.Context, input PerformerDraftInput, httpRequestOptions ...client.HTTPRequestOption) (*SubmitPerformerDraft, error)

func (*Client) SubmitSceneDraft added in v0.13.0

func (c *Client) SubmitSceneDraft(ctx context.Context, input SceneDraftInput, httpRequestOptions ...client.HTTPRequestOption) (*SubmitSceneDraft, error)

type CriterionModifier

type CriterionModifier string
const (
	// =
	CriterionModifierEquals CriterionModifier = "EQUALS"
	// !=
	CriterionModifierNotEquals CriterionModifier = "NOT_EQUALS"
	// >
	CriterionModifierGreaterThan CriterionModifier = "GREATER_THAN"
	// <
	CriterionModifierLessThan CriterionModifier = "LESS_THAN"
	// IS NULL
	CriterionModifierIsNull CriterionModifier = "IS_NULL"
	// IS NOT NULL
	CriterionModifierNotNull CriterionModifier = "NOT_NULL"
	// INCLUDES ALL
	CriterionModifierIncludesAll CriterionModifier = "INCLUDES_ALL"
	CriterionModifierIncludes    CriterionModifier = "INCLUDES"
	CriterionModifierExcludes    CriterionModifier = "EXCLUDES"
)

func (CriterionModifier) IsValid

func (e CriterionModifier) IsValid() bool

func (CriterionModifier) MarshalGQL

func (e CriterionModifier) MarshalGQL(w io.Writer)

func (CriterionModifier) String

func (e CriterionModifier) String() string

func (*CriterionModifier) UnmarshalGQL

func (e *CriterionModifier) UnmarshalGQL(v interface{}) error

type DateAccuracyEnum

type DateAccuracyEnum string
const (
	DateAccuracyEnumYear  DateAccuracyEnum = "YEAR"
	DateAccuracyEnumMonth DateAccuracyEnum = "MONTH"
	DateAccuracyEnumDay   DateAccuracyEnum = "DAY"
)

func (DateAccuracyEnum) IsValid

func (e DateAccuracyEnum) IsValid() bool

func (DateAccuracyEnum) MarshalGQL

func (e DateAccuracyEnum) MarshalGQL(w io.Writer)

func (DateAccuracyEnum) String

func (e DateAccuracyEnum) String() string

func (*DateAccuracyEnum) UnmarshalGQL

func (e *DateAccuracyEnum) UnmarshalGQL(v interface{}) error

type DateCriterionInput

type DateCriterionInput struct {
	Value    string            `json:"value"`
	Modifier CriterionModifier `json:"modifier"`
}

type Draft added in v0.13.0

type Draft struct {
	ID      string    `json:"id"`
	Created time.Time `json:"created"`
	Expires time.Time `json:"expires"`
	Data    DraftData `json:"data,omitempty"`
}

type DraftData added in v0.13.0

type DraftData interface {
	IsDraftData()
}

type DraftEntity added in v0.13.0

type DraftEntity struct {
	Name string  `json:"name"`
	ID   *string `json:"id,omitempty"`
}

func (DraftEntity) IsSceneDraftPerformer added in v0.13.0

func (DraftEntity) IsSceneDraftPerformer()

func (DraftEntity) IsSceneDraftStudio added in v0.13.0

func (DraftEntity) IsSceneDraftStudio()

func (DraftEntity) IsSceneDraftTag added in v0.13.0

func (DraftEntity) IsSceneDraftTag()

type DraftEntityInput added in v0.13.0

type DraftEntityInput struct {
	Name string  `json:"name"`
	ID   *string `json:"id,omitempty"`
}

type DraftFingerprint added in v0.13.0

type DraftFingerprint struct {
	Hash      string               `json:"hash"`
	Algorithm FingerprintAlgorithm `json:"algorithm"`
	Duration  int                  `json:"duration"`
}

type DraftSubmissionStatus added in v0.13.0

type DraftSubmissionStatus struct {
	ID *string `json:"id,omitempty"`
}

type Edit

type Edit struct {
	ID   string `json:"id"`
	User *User  `json:"user,omitempty"`
	// Object being edited - null if creating a new object
	Target     EditTarget     `json:"target,omitempty"`
	TargetType TargetTypeEnum `json:"target_type"`
	// Objects to merge with the target. Only applicable to merges
	MergeSources []EditTarget  `json:"merge_sources,omitempty"`
	Operation    OperationEnum `json:"operation"`
	Details      EditDetails   `json:"details,omitempty"`
	// Previous state of fields being modified - null if operation is create or delete.
	OldDetails EditDetails `json:"old_details,omitempty"`
	// Entity specific options
	Options  *PerformerEditOptions `json:"options,omitempty"`
	Comments []*EditComment        `json:"comments,omitempty"`
	Votes    []*EditVote           `json:"votes,omitempty"`
	//  = Accepted - Rejected
	VoteCount int `json:"vote_count"`
	// Is the edit considered destructive.
	Destructive bool           `json:"destructive"`
	Status      VoteStatusEnum `json:"status"`
	Applied     bool           `json:"applied"`
	Created     time.Time      `json:"created"`
	Updated     *time.Time     `json:"updated,omitempty"`
	Closed      *time.Time     `json:"closed,omitempty"`
	Expires     *time.Time     `json:"expires,omitempty"`
}

type EditComment

type EditComment struct {
	ID      string    `json:"id"`
	User    *User     `json:"user,omitempty"`
	Date    time.Time `json:"date"`
	Comment string    `json:"comment"`
}

type EditCommentInput

type EditCommentInput struct {
	ID      string `json:"id"`
	Comment string `json:"comment"`
}

type EditDetails

type EditDetails interface {
	IsEditDetails()
}

type EditInput

type EditInput struct {
	// Not required for create type
	ID        *string       `json:"id,omitempty"`
	Operation OperationEnum `json:"operation"`
	// Only required for merge type
	MergeSourceIds []string `json:"merge_source_ids,omitempty"`
	Comment        *string  `json:"comment,omitempty"`
}

type EditQueryInput added in v0.14.0

type EditQueryInput struct {
	// Filter by user id
	UserID *string `json:"user_id,omitempty"`
	// Filter by status
	Status *VoteStatusEnum `json:"status,omitempty"`
	// Filter by operation
	Operation *OperationEnum `json:"operation,omitempty"`
	// Filter by vote count
	VoteCount *IntCriterionInput `json:"vote_count,omitempty"`
	// Filter by applied status
	Applied *bool `json:"applied,omitempty"`
	// Filter by target type
	TargetType *TargetTypeEnum `json:"target_type,omitempty"`
	// Filter by target id
	TargetID *string `json:"target_id,omitempty"`
	// Filter by favorite status
	IsFavorite *bool             `json:"is_favorite,omitempty"`
	Page       int               `json:"page"`
	PerPage    int               `json:"per_page"`
	Direction  SortDirectionEnum `json:"direction"`
	Sort       EditSortEnum      `json:"sort"`
}

type EditSortEnum added in v0.14.0

type EditSortEnum string
const (
	EditSortEnumCreatedAt EditSortEnum = "CREATED_AT"
	EditSortEnumUpdatedAt EditSortEnum = "UPDATED_AT"
	EditSortEnumClosedAt  EditSortEnum = "CLOSED_AT"
)

func (EditSortEnum) IsValid added in v0.14.0

func (e EditSortEnum) IsValid() bool

func (EditSortEnum) MarshalGQL added in v0.14.0

func (e EditSortEnum) MarshalGQL(w io.Writer)

func (EditSortEnum) String added in v0.14.0

func (e EditSortEnum) String() string

func (*EditSortEnum) UnmarshalGQL added in v0.14.0

func (e *EditSortEnum) UnmarshalGQL(v interface{}) error

type EditTarget

type EditTarget interface {
	IsEditTarget()
}

type EditVote added in v0.13.0

type EditVote struct {
	User *User        `json:"user,omitempty"`
	Date time.Time    `json:"date"`
	Vote VoteTypeEnum `json:"vote"`
}

type EditVoteInput

type EditVoteInput struct {
	ID   string       `json:"id"`
	Vote VoteTypeEnum `json:"vote"`
}

type EthnicityEnum

type EthnicityEnum string
const (
	EthnicityEnumCaucasian     EthnicityEnum = "CAUCASIAN"
	EthnicityEnumBlack         EthnicityEnum = "BLACK"
	EthnicityEnumAsian         EthnicityEnum = "ASIAN"
	EthnicityEnumIndian        EthnicityEnum = "INDIAN"
	EthnicityEnumLatin         EthnicityEnum = "LATIN"
	EthnicityEnumMiddleEastern EthnicityEnum = "MIDDLE_EASTERN"
	EthnicityEnumMixed         EthnicityEnum = "MIXED"
	EthnicityEnumOther         EthnicityEnum = "OTHER"
)

func (EthnicityEnum) IsValid

func (e EthnicityEnum) IsValid() bool

func (EthnicityEnum) MarshalGQL

func (e EthnicityEnum) MarshalGQL(w io.Writer)

func (EthnicityEnum) String

func (e EthnicityEnum) String() string

func (*EthnicityEnum) UnmarshalGQL

func (e *EthnicityEnum) UnmarshalGQL(v interface{}) error

type EthnicityFilterEnum added in v0.7.0

type EthnicityFilterEnum string
const (
	EthnicityFilterEnumUnknown       EthnicityFilterEnum = "UNKNOWN"
	EthnicityFilterEnumCaucasian     EthnicityFilterEnum = "CAUCASIAN"
	EthnicityFilterEnumBlack         EthnicityFilterEnum = "BLACK"
	EthnicityFilterEnumAsian         EthnicityFilterEnum = "ASIAN"
	EthnicityFilterEnumIndian        EthnicityFilterEnum = "INDIAN"
	EthnicityFilterEnumLatin         EthnicityFilterEnum = "LATIN"
	EthnicityFilterEnumMiddleEastern EthnicityFilterEnum = "MIDDLE_EASTERN"
	EthnicityFilterEnumMixed         EthnicityFilterEnum = "MIXED"
	EthnicityFilterEnumOther         EthnicityFilterEnum = "OTHER"
)

func (EthnicityFilterEnum) IsValid added in v0.7.0

func (e EthnicityFilterEnum) IsValid() bool

func (EthnicityFilterEnum) MarshalGQL added in v0.7.0

func (e EthnicityFilterEnum) MarshalGQL(w io.Writer)

func (EthnicityFilterEnum) String added in v0.7.0

func (e EthnicityFilterEnum) String() string

func (*EthnicityFilterEnum) UnmarshalGQL added in v0.7.0

func (e *EthnicityFilterEnum) UnmarshalGQL(v interface{}) error

type EyeColorCriterionInput

type EyeColorCriterionInput struct {
	Value    *EyeColorEnum     `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type EyeColorEnum

type EyeColorEnum string
const (
	EyeColorEnumBlue  EyeColorEnum = "BLUE"
	EyeColorEnumBrown EyeColorEnum = "BROWN"
	EyeColorEnumGrey  EyeColorEnum = "GREY"
	EyeColorEnumGreen EyeColorEnum = "GREEN"
	EyeColorEnumHazel EyeColorEnum = "HAZEL"
	EyeColorEnumRed   EyeColorEnum = "RED"
)

func (EyeColorEnum) IsValid

func (e EyeColorEnum) IsValid() bool

func (EyeColorEnum) MarshalGQL

func (e EyeColorEnum) MarshalGQL(w io.Writer)

func (EyeColorEnum) String

func (e EyeColorEnum) String() string

func (*EyeColorEnum) UnmarshalGQL

func (e *EyeColorEnum) UnmarshalGQL(v interface{}) error

type FavoriteFilter added in v0.17.0

type FavoriteFilter string
const (
	FavoriteFilterPerformer FavoriteFilter = "PERFORMER"
	FavoriteFilterStudio    FavoriteFilter = "STUDIO"
	FavoriteFilterAll       FavoriteFilter = "ALL"
)

func (FavoriteFilter) IsValid added in v0.17.0

func (e FavoriteFilter) IsValid() bool

func (FavoriteFilter) MarshalGQL added in v0.17.0

func (e FavoriteFilter) MarshalGQL(w io.Writer)

func (FavoriteFilter) String added in v0.17.0

func (e FavoriteFilter) String() string

func (*FavoriteFilter) UnmarshalGQL added in v0.17.0

func (e *FavoriteFilter) UnmarshalGQL(v interface{}) error

type FindPerformerByID added in v0.7.0

type FindPerformerByID struct {
	FindPerformer *PerformerFragment "json:\"findPerformer\" graphql:\"findPerformer\""
}

type FindSceneByFingerprint

type FindSceneByFingerprint struct {
	FindSceneByFingerprint []*SceneFragment "json:\"findSceneByFingerprint\" graphql:\"findSceneByFingerprint\""
}

type FindSceneByID added in v0.11.0

type FindSceneByID struct {
	FindScene *SceneFragment "json:\"findScene\" graphql:\"findScene\""
}

type FindScenesByFullFingerprints added in v0.11.0

type FindScenesByFullFingerprints struct {
	FindScenesByFullFingerprints []*SceneFragment "json:\"findScenesByFullFingerprints\" graphql:\"findScenesByFullFingerprints\""
}

type FindScenesBySceneFingerprints added in v0.16.0

type FindScenesBySceneFingerprints struct {
	FindScenesBySceneFingerprints [][]*SceneFragment "json:\"findScenesBySceneFingerprints\" graphql:\"findScenesBySceneFingerprints\""
}

type Fingerprint

type Fingerprint struct {
	Hash          string               `json:"hash"`
	Algorithm     FingerprintAlgorithm `json:"algorithm"`
	Duration      int                  `json:"duration"`
	Submissions   int                  `json:"submissions"`
	Created       time.Time            `json:"created"`
	Updated       time.Time            `json:"updated"`
	UserSubmitted bool                 `json:"user_submitted"`
}

type FingerprintAlgorithm

type FingerprintAlgorithm string
const (
	FingerprintAlgorithmMd5    FingerprintAlgorithm = "MD5"
	FingerprintAlgorithmOshash FingerprintAlgorithm = "OSHASH"
	FingerprintAlgorithmPhash  FingerprintAlgorithm = "PHASH"
)

func (FingerprintAlgorithm) IsValid

func (e FingerprintAlgorithm) IsValid() bool

func (FingerprintAlgorithm) MarshalGQL

func (e FingerprintAlgorithm) MarshalGQL(w io.Writer)

func (FingerprintAlgorithm) String

func (e FingerprintAlgorithm) String() string

func (*FingerprintAlgorithm) UnmarshalGQL

func (e *FingerprintAlgorithm) UnmarshalGQL(v interface{}) error

type FingerprintEditInput added in v0.11.0

type FingerprintEditInput struct {
	UserIds     []string             `json:"user_ids,omitempty"`
	Hash        string               `json:"hash"`
	Algorithm   FingerprintAlgorithm `json:"algorithm"`
	Duration    int                  `json:"duration"`
	Created     time.Time            `json:"created"`
	Submissions *int                 `json:"submissions,omitempty"`
	Updated     *time.Time           `json:"updated,omitempty"`
}

type FingerprintFragment

type FingerprintFragment struct {
	Algorithm FingerprintAlgorithm "json:\"algorithm\" graphql:\"algorithm\""
	Hash      string               "json:\"hash\" graphql:\"hash\""
	Duration  int                  "json:\"duration\" graphql:\"duration\""
}

type FingerprintInput

type FingerprintInput struct {
	// assumes current user if omitted. Ignored for non-modify Users
	UserIds   []string             `json:"user_ids,omitempty"`
	Hash      string               `json:"hash"`
	Algorithm FingerprintAlgorithm `json:"algorithm"`
	Duration  int                  `json:"duration"`
}

type FingerprintQueryInput

type FingerprintQueryInput struct {
	Hash      string               `json:"hash"`
	Algorithm FingerprintAlgorithm `json:"algorithm"`
}

type FingerprintSubmission

type FingerprintSubmission struct {
	SceneID     string            `json:"scene_id"`
	Fingerprint *FingerprintInput `json:"fingerprint,omitempty"`
	Unmatch     *bool             `json:"unmatch,omitempty"`
}

type FuzzyDate

type FuzzyDate struct {
	Date     string           `json:"date"`
	Accuracy DateAccuracyEnum `json:"accuracy"`
}

type FuzzyDateFragment

type FuzzyDateFragment struct {
	Date     string           "json:\"date\" graphql:\"date\""
	Accuracy DateAccuracyEnum "json:\"accuracy\" graphql:\"accuracy\""
}

type GenderEnum

type GenderEnum string
const (
	GenderEnumMale              GenderEnum = "MALE"
	GenderEnumFemale            GenderEnum = "FEMALE"
	GenderEnumTransgenderMale   GenderEnum = "TRANSGENDER_MALE"
	GenderEnumTransgenderFemale GenderEnum = "TRANSGENDER_FEMALE"
	GenderEnumIntersex          GenderEnum = "INTERSEX"
	GenderEnumNonBinary         GenderEnum = "NON_BINARY"
)

func (GenderEnum) IsValid

func (e GenderEnum) IsValid() bool

func (GenderEnum) MarshalGQL

func (e GenderEnum) MarshalGQL(w io.Writer)

func (GenderEnum) String

func (e GenderEnum) String() string

func (*GenderEnum) UnmarshalGQL

func (e *GenderEnum) UnmarshalGQL(v interface{}) error

type GenderFilterEnum added in v0.7.0

type GenderFilterEnum string
const (
	GenderFilterEnumUnknown           GenderFilterEnum = "UNKNOWN"
	GenderFilterEnumMale              GenderFilterEnum = "MALE"
	GenderFilterEnumFemale            GenderFilterEnum = "FEMALE"
	GenderFilterEnumTransgenderMale   GenderFilterEnum = "TRANSGENDER_MALE"
	GenderFilterEnumTransgenderFemale GenderFilterEnum = "TRANSGENDER_FEMALE"
	GenderFilterEnumIntersex          GenderFilterEnum = "INTERSEX"
	GenderFilterEnumNonBinary         GenderFilterEnum = "NON_BINARY"
)

func (GenderFilterEnum) IsValid added in v0.7.0

func (e GenderFilterEnum) IsValid() bool

func (GenderFilterEnum) MarshalGQL added in v0.7.0

func (e GenderFilterEnum) MarshalGQL(w io.Writer)

func (GenderFilterEnum) String added in v0.7.0

func (e GenderFilterEnum) String() string

func (*GenderFilterEnum) UnmarshalGQL added in v0.7.0

func (e *GenderFilterEnum) UnmarshalGQL(v interface{}) error

type GrantInviteInput added in v0.7.0

type GrantInviteInput struct {
	UserID string `json:"user_id"`
	Amount int    `json:"amount"`
}

type HairColorCriterionInput

type HairColorCriterionInput struct {
	Value    *HairColorEnum    `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type HairColorEnum

type HairColorEnum string
const (
	HairColorEnumBlonde   HairColorEnum = "BLONDE"
	HairColorEnumBrunette HairColorEnum = "BRUNETTE"
	HairColorEnumBlack    HairColorEnum = "BLACK"
	HairColorEnumRed      HairColorEnum = "RED"
	HairColorEnumAuburn   HairColorEnum = "AUBURN"
	HairColorEnumGrey     HairColorEnum = "GREY"
	HairColorEnumBald     HairColorEnum = "BALD"
	HairColorEnumVarious  HairColorEnum = "VARIOUS"
	HairColorEnumOther    HairColorEnum = "OTHER"
)

func (HairColorEnum) IsValid

func (e HairColorEnum) IsValid() bool

func (HairColorEnum) MarshalGQL

func (e HairColorEnum) MarshalGQL(w io.Writer)

func (HairColorEnum) String

func (e HairColorEnum) String() string

func (*HairColorEnum) UnmarshalGQL

func (e *HairColorEnum) UnmarshalGQL(v interface{}) error

type IDCriterionInput

type IDCriterionInput struct {
	Value    []string          `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type Image

type Image struct {
	ID     string `json:"id"`
	URL    string `json:"url"`
	Width  int    `json:"width"`
	Height int    `json:"height"`
}

type ImageCreateInput

type ImageCreateInput struct {
	URL  *string         `json:"url,omitempty"`
	File *graphql.Upload `json:"file,omitempty"`
}

type ImageDestroyInput

type ImageDestroyInput struct {
	ID string `json:"id"`
}

type ImageFragment

type ImageFragment struct {
	ID     string "json:\"id\" graphql:\"id\""
	URL    string "json:\"url\" graphql:\"url\""
	Width  int    "json:\"width\" graphql:\"width\""
	Height int    "json:\"height\" graphql:\"height\""
}

type ImageUpdateInput

type ImageUpdateInput struct {
	ID  string  `json:"id"`
	URL *string `json:"url,omitempty"`
}

type IntCriterionInput

type IntCriterionInput struct {
	Value    int               `json:"value"`
	Modifier CriterionModifier `json:"modifier"`
}

type Me added in v0.13.0

type Me struct {
	Me *struct {
		Name string "json:\"name\" graphql:\"name\""
	} "json:\"me\" graphql:\"me\""
}

type Measurements

type Measurements struct {
	CupSize  *string `json:"cup_size,omitempty"`
	BandSize *int    `json:"band_size,omitempty"`
	Waist    *int    `json:"waist,omitempty"`
	Hip      *int    `json:"hip,omitempty"`
}

type MeasurementsFragment

type MeasurementsFragment struct {
	BandSize *int    "json:\"band_size\" graphql:\"band_size\""
	CupSize  *string "json:\"cup_size\" graphql:\"cup_size\""
	Waist    *int    "json:\"waist\" graphql:\"waist\""
	Hip      *int    "json:\"hip\" graphql:\"hip\""
}

type MultiIDCriterionInput

type MultiIDCriterionInput struct {
	Value    []string          `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type MultiStringCriterionInput added in v0.13.0

type MultiStringCriterionInput struct {
	Value    []string          `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type Mutation

type Mutation struct {
	SceneCreate          *Scene                "json:\"sceneCreate\" graphql:\"sceneCreate\""
	SceneUpdate          *Scene                "json:\"sceneUpdate\" graphql:\"sceneUpdate\""
	SceneDestroy         bool                  "json:\"sceneDestroy\" graphql:\"sceneDestroy\""
	PerformerCreate      *Performer            "json:\"performerCreate\" graphql:\"performerCreate\""
	PerformerUpdate      *Performer            "json:\"performerUpdate\" graphql:\"performerUpdate\""
	PerformerDestroy     bool                  "json:\"performerDestroy\" graphql:\"performerDestroy\""
	StudioCreate         *Studio               "json:\"studioCreate\" graphql:\"studioCreate\""
	StudioUpdate         *Studio               "json:\"studioUpdate\" graphql:\"studioUpdate\""
	StudioDestroy        bool                  "json:\"studioDestroy\" graphql:\"studioDestroy\""
	TagCreate            *Tag                  "json:\"tagCreate\" graphql:\"tagCreate\""
	TagUpdate            *Tag                  "json:\"tagUpdate\" graphql:\"tagUpdate\""
	TagDestroy           bool                  "json:\"tagDestroy\" graphql:\"tagDestroy\""
	UserCreate           *User                 "json:\"userCreate\" graphql:\"userCreate\""
	UserUpdate           *User                 "json:\"userUpdate\" graphql:\"userUpdate\""
	UserDestroy          bool                  "json:\"userDestroy\" graphql:\"userDestroy\""
	ImageCreate          *Image                "json:\"imageCreate\" graphql:\"imageCreate\""
	ImageDestroy         bool                  "json:\"imageDestroy\" graphql:\"imageDestroy\""
	NewUser              *string               "json:\"newUser\" graphql:\"newUser\""
	ActivateNewUser      *User                 "json:\"activateNewUser\" graphql:\"activateNewUser\""
	GenerateInviteCode   *string               "json:\"generateInviteCode\" graphql:\"generateInviteCode\""
	RescindInviteCode    bool                  "json:\"rescindInviteCode\" graphql:\"rescindInviteCode\""
	GrantInvite          int                   "json:\"grantInvite\" graphql:\"grantInvite\""
	RevokeInvite         int                   "json:\"revokeInvite\" graphql:\"revokeInvite\""
	TagCategoryCreate    *TagCategory          "json:\"tagCategoryCreate\" graphql:\"tagCategoryCreate\""
	TagCategoryUpdate    *TagCategory          "json:\"tagCategoryUpdate\" graphql:\"tagCategoryUpdate\""
	TagCategoryDestroy   bool                  "json:\"tagCategoryDestroy\" graphql:\"tagCategoryDestroy\""
	SiteCreate           *Site                 "json:\"siteCreate\" graphql:\"siteCreate\""
	SiteUpdate           *Site                 "json:\"siteUpdate\" graphql:\"siteUpdate\""
	SiteDestroy          bool                  "json:\"siteDestroy\" graphql:\"siteDestroy\""
	RegenerateAPIKey     string                "json:\"regenerateAPIKey\" graphql:\"regenerateAPIKey\""
	ResetPassword        bool                  "json:\"resetPassword\" graphql:\"resetPassword\""
	ChangePassword       bool                  "json:\"changePassword\" graphql:\"changePassword\""
	SceneEdit            Edit                  "json:\"sceneEdit\" graphql:\"sceneEdit\""
	PerformerEdit        Edit                  "json:\"performerEdit\" graphql:\"performerEdit\""
	StudioEdit           Edit                  "json:\"studioEdit\" graphql:\"studioEdit\""
	TagEdit              Edit                  "json:\"tagEdit\" graphql:\"tagEdit\""
	SceneEditUpdate      Edit                  "json:\"sceneEditUpdate\" graphql:\"sceneEditUpdate\""
	PerformerEditUpdate  Edit                  "json:\"performerEditUpdate\" graphql:\"performerEditUpdate\""
	StudioEditUpdate     Edit                  "json:\"studioEditUpdate\" graphql:\"studioEditUpdate\""
	TagEditUpdate        Edit                  "json:\"tagEditUpdate\" graphql:\"tagEditUpdate\""
	EditVote             Edit                  "json:\"editVote\" graphql:\"editVote\""
	EditComment          Edit                  "json:\"editComment\" graphql:\"editComment\""
	ApplyEdit            Edit                  "json:\"applyEdit\" graphql:\"applyEdit\""
	CancelEdit           Edit                  "json:\"cancelEdit\" graphql:\"cancelEdit\""
	SubmitFingerprint    bool                  "json:\"submitFingerprint\" graphql:\"submitFingerprint\""
	SubmitSceneDraft     DraftSubmissionStatus "json:\"submitSceneDraft\" graphql:\"submitSceneDraft\""
	SubmitPerformerDraft DraftSubmissionStatus "json:\"submitPerformerDraft\" graphql:\"submitPerformerDraft\""
	DestroyDraft         bool                  "json:\"destroyDraft\" graphql:\"destroyDraft\""
	FavoritePerformer    bool                  "json:\"favoritePerformer\" graphql:\"favoritePerformer\""
	FavoriteStudio       bool                  "json:\"favoriteStudio\" graphql:\"favoriteStudio\""
}

type NewUserInput added in v0.7.0

type NewUserInput struct {
	Email     string  `json:"email"`
	InviteKey *string `json:"invite_key,omitempty"`
}

type OperationEnum

type OperationEnum string
const (
	OperationEnumCreate  OperationEnum = "CREATE"
	OperationEnumModify  OperationEnum = "MODIFY"
	OperationEnumDestroy OperationEnum = "DESTROY"
	OperationEnumMerge   OperationEnum = "MERGE"
)

func (OperationEnum) IsValid

func (e OperationEnum) IsValid() bool

func (OperationEnum) MarshalGQL

func (e OperationEnum) MarshalGQL(w io.Writer)

func (OperationEnum) String

func (e OperationEnum) String() string

func (*OperationEnum) UnmarshalGQL

func (e *OperationEnum) UnmarshalGQL(v interface{}) error

type Performer

type Performer struct {
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Disambiguation *string        `json:"disambiguation,omitempty"`
	Aliases        []string       `json:"aliases,omitempty"`
	Gender         *GenderEnum    `json:"gender,omitempty"`
	Urls           []*URL         `json:"urls,omitempty"`
	Birthdate      *FuzzyDate     `json:"birthdate,omitempty"`
	BirthDate      *string        `json:"birth_date,omitempty"`
	Age            *int           `json:"age,omitempty"`
	Ethnicity      *EthnicityEnum `json:"ethnicity,omitempty"`
	Country        *string        `json:"country,omitempty"`
	EyeColor       *EyeColorEnum  `json:"eye_color,omitempty"`
	HairColor      *HairColorEnum `json:"hair_color,omitempty"`
	// Height in cm
	Height          *int                `json:"height,omitempty"`
	Measurements    *Measurements       `json:"measurements,omitempty"`
	CupSize         *string             `json:"cup_size,omitempty"`
	BandSize        *int                `json:"band_size,omitempty"`
	WaistSize       *int                `json:"waist_size,omitempty"`
	HipSize         *int                `json:"hip_size,omitempty"`
	BreastType      *BreastTypeEnum     `json:"breast_type,omitempty"`
	CareerStartYear *int                `json:"career_start_year,omitempty"`
	CareerEndYear   *int                `json:"career_end_year,omitempty"`
	Tattoos         []*BodyModification `json:"tattoos,omitempty"`
	Piercings       []*BodyModification `json:"piercings,omitempty"`
	Images          []*Image            `json:"images,omitempty"`
	Deleted         bool                `json:"deleted"`
	Edits           []*Edit             `json:"edits,omitempty"`
	SceneCount      int                 `json:"scene_count"`
	OCounter        int                 `json:"o_counter"`
	MergedIds       []string            `json:"merged_ids,omitempty"`
	Studios         []*PerformerStudio  `json:"studios,omitempty"`
	IsFavorite      bool                `json:"is_favorite"`
	Created         time.Time           `json:"created"`
	Updated         time.Time           `json:"updated"`
}

func (Performer) IsEditTarget

func (Performer) IsEditTarget()

func (Performer) IsSceneDraftPerformer added in v0.13.0

func (Performer) IsSceneDraftPerformer()

type PerformerAppearance

type PerformerAppearance struct {
	Performer *Performer `json:"performer,omitempty"`
	// Performing as alias
	As *string `json:"as,omitempty"`
}

type PerformerAppearanceFragment

type PerformerAppearanceFragment struct {
	As        *string           "json:\"as\" graphql:\"as\""
	Performer PerformerFragment "json:\"performer\" graphql:\"performer\""
}

type PerformerAppearanceInput

type PerformerAppearanceInput struct {
	PerformerID string `json:"performer_id"`
	// Performing as alias
	As *string `json:"as,omitempty"`
}

type PerformerCreateInput

type PerformerCreateInput struct {
	Name            string                   `json:"name"`
	Disambiguation  *string                  `json:"disambiguation,omitempty"`
	Aliases         []string                 `json:"aliases,omitempty"`
	Gender          *GenderEnum              `json:"gender,omitempty"`
	Urls            []*URLInput              `json:"urls,omitempty"`
	Birthdate       *string                  `json:"birthdate,omitempty"`
	Ethnicity       *EthnicityEnum           `json:"ethnicity,omitempty"`
	Country         *string                  `json:"country,omitempty"`
	EyeColor        *EyeColorEnum            `json:"eye_color,omitempty"`
	HairColor       *HairColorEnum           `json:"hair_color,omitempty"`
	Height          *int                     `json:"height,omitempty"`
	CupSize         *string                  `json:"cup_size,omitempty"`
	BandSize        *int                     `json:"band_size,omitempty"`
	WaistSize       *int                     `json:"waist_size,omitempty"`
	HipSize         *int                     `json:"hip_size,omitempty"`
	BreastType      *BreastTypeEnum          `json:"breast_type,omitempty"`
	CareerStartYear *int                     `json:"career_start_year,omitempty"`
	CareerEndYear   *int                     `json:"career_end_year,omitempty"`
	Tattoos         []*BodyModificationInput `json:"tattoos,omitempty"`
	Piercings       []*BodyModificationInput `json:"piercings,omitempty"`
	ImageIds        []string                 `json:"image_ids,omitempty"`
	DraftID         *string                  `json:"draft_id,omitempty"`
}

type PerformerDestroyInput

type PerformerDestroyInput struct {
	ID string `json:"id"`
}

type PerformerDraft added in v0.13.0

type PerformerDraft struct {
	ID              *string  `json:"id,omitempty"`
	Name            string   `json:"name"`
	Aliases         *string  `json:"aliases,omitempty"`
	Gender          *string  `json:"gender,omitempty"`
	Birthdate       *string  `json:"birthdate,omitempty"`
	Urls            []string `json:"urls,omitempty"`
	Ethnicity       *string  `json:"ethnicity,omitempty"`
	Country         *string  `json:"country,omitempty"`
	EyeColor        *string  `json:"eye_color,omitempty"`
	HairColor       *string  `json:"hair_color,omitempty"`
	Height          *string  `json:"height,omitempty"`
	Measurements    *string  `json:"measurements,omitempty"`
	BreastType      *string  `json:"breast_type,omitempty"`
	Tattoos         *string  `json:"tattoos,omitempty"`
	Piercings       *string  `json:"piercings,omitempty"`
	CareerStartYear *int     `json:"career_start_year,omitempty"`
	CareerEndYear   *int     `json:"career_end_year,omitempty"`
	Image           *Image   `json:"image,omitempty"`
}

func (PerformerDraft) IsDraftData added in v0.13.0

func (PerformerDraft) IsDraftData()

type PerformerDraftInput added in v0.13.0

type PerformerDraftInput struct {
	ID              *string         `json:"id,omitempty"`
	Name            string          `json:"name"`
	Aliases         *string         `json:"aliases,omitempty"`
	Gender          *string         `json:"gender,omitempty"`
	Birthdate       *string         `json:"birthdate,omitempty"`
	Urls            []string        `json:"urls,omitempty"`
	Ethnicity       *string         `json:"ethnicity,omitempty"`
	Country         *string         `json:"country,omitempty"`
	EyeColor        *string         `json:"eye_color,omitempty"`
	HairColor       *string         `json:"hair_color,omitempty"`
	Height          *string         `json:"height,omitempty"`
	Measurements    *string         `json:"measurements,omitempty"`
	BreastType      *string         `json:"breast_type,omitempty"`
	Tattoos         *string         `json:"tattoos,omitempty"`
	Piercings       *string         `json:"piercings,omitempty"`
	CareerStartYear *int            `json:"career_start_year,omitempty"`
	CareerEndYear   *int            `json:"career_end_year,omitempty"`
	Image           *graphql.Upload `json:"image,omitempty"`
}

type PerformerEdit

type PerformerEdit struct {
	Name           *string        `json:"name,omitempty"`
	Disambiguation *string        `json:"disambiguation,omitempty"`
	AddedAliases   []string       `json:"added_aliases,omitempty"`
	RemovedAliases []string       `json:"removed_aliases,omitempty"`
	Gender         *GenderEnum    `json:"gender,omitempty"`
	AddedUrls      []*URL         `json:"added_urls,omitempty"`
	RemovedUrls    []*URL         `json:"removed_urls,omitempty"`
	Birthdate      *string        `json:"birthdate,omitempty"`
	Ethnicity      *EthnicityEnum `json:"ethnicity,omitempty"`
	Country        *string        `json:"country,omitempty"`
	EyeColor       *EyeColorEnum  `json:"eye_color,omitempty"`
	HairColor      *HairColorEnum `json:"hair_color,omitempty"`
	// Height in cm
	Height           *int                `json:"height,omitempty"`
	CupSize          *string             `json:"cup_size,omitempty"`
	BandSize         *int                `json:"band_size,omitempty"`
	WaistSize        *int                `json:"waist_size,omitempty"`
	HipSize          *int                `json:"hip_size,omitempty"`
	BreastType       *BreastTypeEnum     `json:"breast_type,omitempty"`
	CareerStartYear  *int                `json:"career_start_year,omitempty"`
	CareerEndYear    *int                `json:"career_end_year,omitempty"`
	AddedTattoos     []*BodyModification `json:"added_tattoos,omitempty"`
	RemovedTattoos   []*BodyModification `json:"removed_tattoos,omitempty"`
	AddedPiercings   []*BodyModification `json:"added_piercings,omitempty"`
	RemovedPiercings []*BodyModification `json:"removed_piercings,omitempty"`
	AddedImages      []*Image            `json:"added_images,omitempty"`
	RemovedImages    []*Image            `json:"removed_images,omitempty"`
	DraftID          *string             `json:"draft_id,omitempty"`
	Aliases          []string            `json:"aliases,omitempty"`
	Urls             []*URL              `json:"urls,omitempty"`
	Images           []*Image            `json:"images,omitempty"`
	Tattoos          []*BodyModification `json:"tattoos,omitempty"`
	Piercings        []*BodyModification `json:"piercings,omitempty"`
}

func (PerformerEdit) IsEditDetails

func (PerformerEdit) IsEditDetails()

type PerformerEditDetailsInput

type PerformerEditDetailsInput struct {
	Name            *string                  `json:"name,omitempty"`
	Disambiguation  *string                  `json:"disambiguation,omitempty"`
	Aliases         []string                 `json:"aliases,omitempty"`
	Gender          *GenderEnum              `json:"gender,omitempty"`
	Urls            []*URLInput              `json:"urls,omitempty"`
	Birthdate       *string                  `json:"birthdate,omitempty"`
	Ethnicity       *EthnicityEnum           `json:"ethnicity,omitempty"`
	Country         *string                  `json:"country,omitempty"`
	EyeColor        *EyeColorEnum            `json:"eye_color,omitempty"`
	HairColor       *HairColorEnum           `json:"hair_color,omitempty"`
	Height          *int                     `json:"height,omitempty"`
	CupSize         *string                  `json:"cup_size,omitempty"`
	BandSize        *int                     `json:"band_size,omitempty"`
	WaistSize       *int                     `json:"waist_size,omitempty"`
	HipSize         *int                     `json:"hip_size,omitempty"`
	BreastType      *BreastTypeEnum          `json:"breast_type,omitempty"`
	CareerStartYear *int                     `json:"career_start_year,omitempty"`
	CareerEndYear   *int                     `json:"career_end_year,omitempty"`
	Tattoos         []*BodyModificationInput `json:"tattoos,omitempty"`
	Piercings       []*BodyModificationInput `json:"piercings,omitempty"`
	ImageIds        []string                 `json:"image_ids,omitempty"`
	DraftID         *string                  `json:"draft_id,omitempty"`
}

type PerformerEditInput

type PerformerEditInput struct {
	Edit *EditInput `json:"edit,omitempty"`
	// Not required for destroy type
	Details *PerformerEditDetailsInput `json:"details,omitempty"`
	// Controls aliases modification for merges and name modifications
	Options *PerformerEditOptionsInput `json:"options,omitempty"`
}

type PerformerEditOptions added in v0.7.0

type PerformerEditOptions struct {
	// Set performer alias on scenes without alias to old name if name is changed
	SetModifyAliases bool `json:"set_modify_aliases"`
	// Set performer alias on scenes attached to merge sources to old name
	SetMergeAliases bool `json:"set_merge_aliases"`
}

type PerformerEditOptionsInput added in v0.7.0

type PerformerEditOptionsInput struct {
	// Set performer alias on scenes without alias to old name if name is changed
	SetModifyAliases *bool `json:"set_modify_aliases,omitempty"`
	// Set performer alias on scenes attached to merge sources to old name
	SetMergeAliases *bool `json:"set_merge_aliases,omitempty"`
}

type PerformerFragment

type PerformerFragment struct {
	ID              string                      "json:\"id\" graphql:\"id\""
	Name            string                      "json:\"name\" graphql:\"name\""
	Disambiguation  *string                     "json:\"disambiguation\" graphql:\"disambiguation\""
	Aliases         []string                    "json:\"aliases\" graphql:\"aliases\""
	Gender          *GenderEnum                 "json:\"gender\" graphql:\"gender\""
	MergedIds       []string                    "json:\"merged_ids\" graphql:\"merged_ids\""
	Urls            []*URLFragment              "json:\"urls\" graphql:\"urls\""
	Images          []*ImageFragment            "json:\"images\" graphql:\"images\""
	Birthdate       *FuzzyDateFragment          "json:\"birthdate\" graphql:\"birthdate\""
	Ethnicity       *EthnicityEnum              "json:\"ethnicity\" graphql:\"ethnicity\""
	Country         *string                     "json:\"country\" graphql:\"country\""
	EyeColor        *EyeColorEnum               "json:\"eye_color\" graphql:\"eye_color\""
	HairColor       *HairColorEnum              "json:\"hair_color\" graphql:\"hair_color\""
	Height          *int                        "json:\"height\" graphql:\"height\""
	Measurements    MeasurementsFragment        "json:\"measurements\" graphql:\"measurements\""
	BreastType      *BreastTypeEnum             "json:\"breast_type\" graphql:\"breast_type\""
	CareerStartYear *int                        "json:\"career_start_year\" graphql:\"career_start_year\""
	CareerEndYear   *int                        "json:\"career_end_year\" graphql:\"career_end_year\""
	Tattoos         []*BodyModificationFragment "json:\"tattoos\" graphql:\"tattoos\""
	Piercings       []*BodyModificationFragment "json:\"piercings\" graphql:\"piercings\""
}

type PerformerQueryInput added in v0.14.0

type PerformerQueryInput struct {
	// Searches name and disambiguation - assumes like query unless quoted
	Names *string `json:"names,omitempty"`
	// Searches name only - assumes like query unless quoted
	Name *string `json:"name,omitempty"`
	// Search aliases only - assumes like query unless quoted
	Alias          *string               `json:"alias,omitempty"`
	Disambiguation *StringCriterionInput `json:"disambiguation,omitempty"`
	Gender         *GenderFilterEnum     `json:"gender,omitempty"`
	// Filter to search urls - assumes like query unless quoted
	URL             *string                         `json:"url,omitempty"`
	Birthdate       *DateCriterionInput             `json:"birthdate,omitempty"`
	BirthYear       *IntCriterionInput              `json:"birth_year,omitempty"`
	Age             *IntCriterionInput              `json:"age,omitempty"`
	Ethnicity       *EthnicityFilterEnum            `json:"ethnicity,omitempty"`
	Country         *StringCriterionInput           `json:"country,omitempty"`
	EyeColor        *EyeColorCriterionInput         `json:"eye_color,omitempty"`
	HairColor       *HairColorCriterionInput        `json:"hair_color,omitempty"`
	Height          *IntCriterionInput              `json:"height,omitempty"`
	CupSize         *StringCriterionInput           `json:"cup_size,omitempty"`
	BandSize        *IntCriterionInput              `json:"band_size,omitempty"`
	WaistSize       *IntCriterionInput              `json:"waist_size,omitempty"`
	HipSize         *IntCriterionInput              `json:"hip_size,omitempty"`
	BreastType      *BreastTypeCriterionInput       `json:"breast_type,omitempty"`
	CareerStartYear *IntCriterionInput              `json:"career_start_year,omitempty"`
	CareerEndYear   *IntCriterionInput              `json:"career_end_year,omitempty"`
	Tattoos         *BodyModificationCriterionInput `json:"tattoos,omitempty"`
	Piercings       *BodyModificationCriterionInput `json:"piercings,omitempty"`
	// Filter by performerfavorite status for the current user
	IsFavorite *bool             `json:"is_favorite,omitempty"`
	Page       int               `json:"page"`
	PerPage    int               `json:"per_page"`
	Direction  SortDirectionEnum `json:"direction"`
	Sort       PerformerSortEnum `json:"sort"`
}

type PerformerSortEnum added in v0.14.0

type PerformerSortEnum string
const (
	PerformerSortEnumName            PerformerSortEnum = "NAME"
	PerformerSortEnumBirthdate       PerformerSortEnum = "BIRTHDATE"
	PerformerSortEnumSceneCount      PerformerSortEnum = "SCENE_COUNT"
	PerformerSortEnumOCounter        PerformerSortEnum = "O_COUNTER"
	PerformerSortEnumCareerStartYear PerformerSortEnum = "CAREER_START_YEAR"
	PerformerSortEnumDebut           PerformerSortEnum = "DEBUT"
	PerformerSortEnumCreatedAt       PerformerSortEnum = "CREATED_AT"
	PerformerSortEnumUpdatedAt       PerformerSortEnum = "UPDATED_AT"
)

func (PerformerSortEnum) IsValid added in v0.14.0

func (e PerformerSortEnum) IsValid() bool

func (PerformerSortEnum) MarshalGQL added in v0.14.0

func (e PerformerSortEnum) MarshalGQL(w io.Writer)

func (PerformerSortEnum) String added in v0.14.0

func (e PerformerSortEnum) String() string

func (*PerformerSortEnum) UnmarshalGQL added in v0.14.0

func (e *PerformerSortEnum) UnmarshalGQL(v interface{}) error

type PerformerStudio added in v0.11.0

type PerformerStudio struct {
	Studio     *Studio `json:"studio,omitempty"`
	SceneCount int     `json:"scene_count"`
}

type PerformerUpdateInput

type PerformerUpdateInput struct {
	ID              string                   `json:"id"`
	Name            *string                  `json:"name,omitempty"`
	Disambiguation  *string                  `json:"disambiguation,omitempty"`
	Aliases         []string                 `json:"aliases,omitempty"`
	Gender          *GenderEnum              `json:"gender,omitempty"`
	Urls            []*URLInput              `json:"urls,omitempty"`
	Birthdate       *string                  `json:"birthdate,omitempty"`
	Ethnicity       *EthnicityEnum           `json:"ethnicity,omitempty"`
	Country         *string                  `json:"country,omitempty"`
	EyeColor        *EyeColorEnum            `json:"eye_color,omitempty"`
	HairColor       *HairColorEnum           `json:"hair_color,omitempty"`
	Height          *int                     `json:"height,omitempty"`
	CupSize         *string                  `json:"cup_size,omitempty"`
	BandSize        *int                     `json:"band_size,omitempty"`
	WaistSize       *int                     `json:"waist_size,omitempty"`
	HipSize         *int                     `json:"hip_size,omitempty"`
	BreastType      *BreastTypeEnum          `json:"breast_type,omitempty"`
	CareerStartYear *int                     `json:"career_start_year,omitempty"`
	CareerEndYear   *int                     `json:"career_end_year,omitempty"`
	Tattoos         []*BodyModificationInput `json:"tattoos,omitempty"`
	Piercings       []*BodyModificationInput `json:"piercings,omitempty"`
	ImageIds        []string                 `json:"image_ids,omitempty"`
}

type Query

type Query struct {
	FindPerformer                 *Performer                   "json:\"findPerformer\" graphql:\"findPerformer\""
	QueryPerformers               QueryPerformersResultType    "json:\"queryPerformers\" graphql:\"queryPerformers\""
	FindStudio                    *Studio                      "json:\"findStudio\" graphql:\"findStudio\""
	QueryStudios                  QueryStudiosResultType       "json:\"queryStudios\" graphql:\"queryStudios\""
	FindTag                       *Tag                         "json:\"findTag\" graphql:\"findTag\""
	QueryTags                     QueryTagsResultType          "json:\"queryTags\" graphql:\"queryTags\""
	FindTagCategory               *TagCategory                 "json:\"findTagCategory\" graphql:\"findTagCategory\""
	QueryTagCategories            QueryTagCategoriesResultType "json:\"queryTagCategories\" graphql:\"queryTagCategories\""
	FindScene                     *Scene                       "json:\"findScene\" graphql:\"findScene\""
	FindSceneByFingerprint        []*Scene                     "json:\"findSceneByFingerprint\" graphql:\"findSceneByFingerprint\""
	FindScenesByFingerprints      []*Scene                     "json:\"findScenesByFingerprints\" graphql:\"findScenesByFingerprints\""
	FindScenesByFullFingerprints  []*Scene                     "json:\"findScenesByFullFingerprints\" graphql:\"findScenesByFullFingerprints\""
	FindScenesBySceneFingerprints [][]*Scene                   "json:\"findScenesBySceneFingerprints\" graphql:\"findScenesBySceneFingerprints\""
	QueryScenes                   QueryScenesResultType        "json:\"queryScenes\" graphql:\"queryScenes\""
	FindSite                      *Site                        "json:\"findSite\" graphql:\"findSite\""
	QuerySites                    QuerySitesResultType         "json:\"querySites\" graphql:\"querySites\""
	FindEdit                      *Edit                        "json:\"findEdit\" graphql:\"findEdit\""
	QueryEdits                    QueryEditsResultType         "json:\"queryEdits\" graphql:\"queryEdits\""
	FindUser                      *User                        "json:\"findUser\" graphql:\"findUser\""
	QueryUsers                    QueryUsersResultType         "json:\"queryUsers\" graphql:\"queryUsers\""
	Me                            *User                        "json:\"me\" graphql:\"me\""
	SearchPerformer               []*Performer                 "json:\"searchPerformer\" graphql:\"searchPerformer\""
	SearchScene                   []*Scene                     "json:\"searchScene\" graphql:\"searchScene\""
	SearchTag                     []*Tag                       "json:\"searchTag\" graphql:\"searchTag\""
	FindDraft                     *Draft                       "json:\"findDraft\" graphql:\"findDraft\""
	FindDrafts                    []*Draft                     "json:\"findDrafts\" graphql:\"findDrafts\""
	QueryExistingScene            QueryExistingSceneResult     "json:\"queryExistingScene\" graphql:\"queryExistingScene\""
	Version                       Version                      "json:\"version\" graphql:\"version\""
	GetConfig                     StashBoxConfig               "json:\"getConfig\" graphql:\"getConfig\""
}

type QueryEditsResultType

type QueryEditsResultType struct {
	Count int     `json:"count"`
	Edits []*Edit `json:"edits,omitempty"`
}

type QueryExistingSceneInput added in v0.17.0

type QueryExistingSceneInput struct {
	Title        *string             `json:"title,omitempty"`
	StudioID     *string             `json:"studio_id,omitempty"`
	Fingerprints []*FingerprintInput `json:"fingerprints,omitempty"`
}

type QueryExistingSceneResult added in v0.17.0

type QueryExistingSceneResult struct {
	Edits  []*Edit  `json:"edits,omitempty"`
	Scenes []*Scene `json:"scenes,omitempty"`
}

type QueryPerformersResultType

type QueryPerformersResultType struct {
	Count      int          `json:"count"`
	Performers []*Performer `json:"performers,omitempty"`
}

type QueryScenesResultType

type QueryScenesResultType struct {
	Count  int      `json:"count"`
	Scenes []*Scene `json:"scenes,omitempty"`
}

type QuerySitesResultType added in v0.13.0

type QuerySitesResultType struct {
	Count int     `json:"count"`
	Sites []*Site `json:"sites,omitempty"`
}

type QueryStudiosResultType

type QueryStudiosResultType struct {
	Count   int       `json:"count"`
	Studios []*Studio `json:"studios,omitempty"`
}

type QueryTagCategoriesResultType added in v0.7.0

type QueryTagCategoriesResultType struct {
	Count         int            `json:"count"`
	TagCategories []*TagCategory `json:"tag_categories,omitempty"`
}

type QueryTagsResultType

type QueryTagsResultType struct {
	Count int    `json:"count"`
	Tags  []*Tag `json:"tags,omitempty"`
}

type QueryUsersResultType

type QueryUsersResultType struct {
	Count int     `json:"count"`
	Users []*User `json:"users,omitempty"`
}

type ResetPasswordInput added in v0.7.0

type ResetPasswordInput struct {
	Email string `json:"email"`
}

type RevokeInviteInput added in v0.7.0

type RevokeInviteInput struct {
	UserID string `json:"user_id"`
	Amount int    `json:"amount"`
}

type RoleCriterionInput

type RoleCriterionInput struct {
	Value    []RoleEnum        `json:"value,omitempty"`
	Modifier CriterionModifier `json:"modifier"`
}

type RoleEnum

type RoleEnum string
const (
	RoleEnumRead   RoleEnum = "READ"
	RoleEnumVote   RoleEnum = "VOTE"
	RoleEnumEdit   RoleEnum = "EDIT"
	RoleEnumModify RoleEnum = "MODIFY"
	RoleEnumAdmin  RoleEnum = "ADMIN"
	// May generate invites without tokens
	RoleEnumInvite RoleEnum = "INVITE"
	// May grant and rescind invite tokens and resind invite keys
	RoleEnumManageInvites RoleEnum = "MANAGE_INVITES"
	RoleEnumBot           RoleEnum = "BOT"
)

func (RoleEnum) IsValid

func (e RoleEnum) IsValid() bool

func (RoleEnum) MarshalGQL

func (e RoleEnum) MarshalGQL(w io.Writer)

func (RoleEnum) String

func (e RoleEnum) String() string

func (*RoleEnum) UnmarshalGQL

func (e *RoleEnum) UnmarshalGQL(v interface{}) error

type Scene

type Scene struct {
	ID           string                 `json:"id"`
	Title        *string                `json:"title,omitempty"`
	Details      *string                `json:"details,omitempty"`
	Date         *string                `json:"date,omitempty"`
	ReleaseDate  *string                `json:"release_date,omitempty"`
	Urls         []*URL                 `json:"urls,omitempty"`
	Studio       *Studio                `json:"studio,omitempty"`
	Tags         []*Tag                 `json:"tags,omitempty"`
	Images       []*Image               `json:"images,omitempty"`
	Performers   []*PerformerAppearance `json:"performers,omitempty"`
	Fingerprints []*Fingerprint         `json:"fingerprints,omitempty"`
	Duration     *int                   `json:"duration,omitempty"`
	Director     *string                `json:"director,omitempty"`
	Code         *string                `json:"code,omitempty"`
	Deleted      bool                   `json:"deleted"`
	Edits        []*Edit                `json:"edits,omitempty"`
	Created      time.Time              `json:"created"`
	Updated      time.Time              `json:"updated"`
}

func (Scene) IsEditTarget

func (Scene) IsEditTarget()

type SceneCreateInput

type SceneCreateInput struct {
	Title        *string                     `json:"title,omitempty"`
	Details      *string                     `json:"details,omitempty"`
	Urls         []*URLInput                 `json:"urls,omitempty"`
	Date         string                      `json:"date"`
	StudioID     *string                     `json:"studio_id,omitempty"`
	Performers   []*PerformerAppearanceInput `json:"performers,omitempty"`
	TagIds       []string                    `json:"tag_ids,omitempty"`
	ImageIds     []string                    `json:"image_ids,omitempty"`
	Fingerprints []*FingerprintEditInput     `json:"fingerprints,omitempty"`
	Duration     *int                        `json:"duration,omitempty"`
	Director     *string                     `json:"director,omitempty"`
	Code         *string                     `json:"code,omitempty"`
}

type SceneDestroyInput

type SceneDestroyInput struct {
	ID string `json:"id"`
}

type SceneDraft added in v0.13.0

type SceneDraft struct {
	ID           *string               `json:"id,omitempty"`
	Title        *string               `json:"title,omitempty"`
	Details      *string               `json:"details,omitempty"`
	URL          *URL                  `json:"url,omitempty"`
	Date         *string               `json:"date,omitempty"`
	Studio       SceneDraftStudio      `json:"studio,omitempty"`
	Performers   []SceneDraftPerformer `json:"performers,omitempty"`
	Tags         []SceneDraftTag       `json:"tags,omitempty"`
	Image        *Image                `json:"image,omitempty"`
	Fingerprints []*DraftFingerprint   `json:"fingerprints,omitempty"`
}

func (SceneDraft) IsDraftData added in v0.13.0

func (SceneDraft) IsDraftData()

type SceneDraftInput added in v0.13.0

type SceneDraftInput struct {
	ID           *string             `json:"id,omitempty"`
	Title        *string             `json:"title,omitempty"`
	Code         *string             `json:"code,omitempty"`
	Details      *string             `json:"details,omitempty"`
	Director     *string             `json:"director,omitempty"`
	URL          *string             `json:"url,omitempty"`
	Date         *string             `json:"date,omitempty"`
	Studio       *DraftEntityInput   `json:"studio,omitempty"`
	Performers   []*DraftEntityInput `json:"performers"`
	Tags         []*DraftEntityInput `json:"tags,omitempty"`
	Image        *graphql.Upload     `json:"image,omitempty"`
	Fingerprints []*FingerprintInput `json:"fingerprints"`
}

Override for generated struct due to mistaken omitempty https://github.com/Yamashou/gqlgenc/issues/77

type SceneDraftPerformer added in v0.13.0

type SceneDraftPerformer interface {
	IsSceneDraftPerformer()
}

type SceneDraftStudio added in v0.13.0

type SceneDraftStudio interface {
	IsSceneDraftStudio()
}

type SceneDraftTag added in v0.13.0

type SceneDraftTag interface {
	IsSceneDraftTag()
}

type SceneEdit

type SceneEdit struct {
	Title       *string `json:"title,omitempty"`
	Details     *string `json:"details,omitempty"`
	AddedUrls   []*URL  `json:"added_urls,omitempty"`
	RemovedUrls []*URL  `json:"removed_urls,omitempty"`
	Date        *string `json:"date,omitempty"`
	Studio      *Studio `json:"studio,omitempty"`
	// Added or modified performer appearance entries
	AddedPerformers     []*PerformerAppearance `json:"added_performers,omitempty"`
	RemovedPerformers   []*PerformerAppearance `json:"removed_performers,omitempty"`
	AddedTags           []*Tag                 `json:"added_tags,omitempty"`
	RemovedTags         []*Tag                 `json:"removed_tags,omitempty"`
	AddedImages         []*Image               `json:"added_images,omitempty"`
	RemovedImages       []*Image               `json:"removed_images,omitempty"`
	AddedFingerprints   []*Fingerprint         `json:"added_fingerprints,omitempty"`
	RemovedFingerprints []*Fingerprint         `json:"removed_fingerprints,omitempty"`
	Duration            *int                   `json:"duration,omitempty"`
	Director            *string                `json:"director,omitempty"`
	Code                *string                `json:"code,omitempty"`
	DraftID             *string                `json:"draft_id,omitempty"`
	Urls                []*URL                 `json:"urls,omitempty"`
	Performers          []*PerformerAppearance `json:"performers,omitempty"`
	Tags                []*Tag                 `json:"tags,omitempty"`
	Images              []*Image               `json:"images,omitempty"`
	Fingerprints        []*Fingerprint         `json:"fingerprints,omitempty"`
}

func (SceneEdit) IsEditDetails

func (SceneEdit) IsEditDetails()

type SceneEditDetailsInput

type SceneEditDetailsInput struct {
	Title        *string                     `json:"title,omitempty"`
	Details      *string                     `json:"details,omitempty"`
	Urls         []*URLInput                 `json:"urls,omitempty"`
	Date         *string                     `json:"date,omitempty"`
	StudioID     *string                     `json:"studio_id,omitempty"`
	Performers   []*PerformerAppearanceInput `json:"performers,omitempty"`
	TagIds       []string                    `json:"tag_ids,omitempty"`
	ImageIds     []string                    `json:"image_ids,omitempty"`
	Duration     *int                        `json:"duration,omitempty"`
	Director     *string                     `json:"director,omitempty"`
	Code         *string                     `json:"code,omitempty"`
	Fingerprints []*FingerprintInput         `json:"fingerprints,omitempty"`
	DraftID      *string                     `json:"draft_id,omitempty"`
}

type SceneEditInput

type SceneEditInput struct {
	Edit *EditInput `json:"edit,omitempty"`
	// Not required for destroy type
	Details *SceneEditDetailsInput `json:"details,omitempty"`
}

type SceneFragment

type SceneFragment struct {
	ID           string                         "json:\"id\" graphql:\"id\""
	Title        *string                        "json:\"title\" graphql:\"title\""
	Code         *string                        "json:\"code\" graphql:\"code\""
	Details      *string                        "json:\"details\" graphql:\"details\""
	Director     *string                        "json:\"director\" graphql:\"director\""
	Duration     *int                           "json:\"duration\" graphql:\"duration\""
	Date         *string                        "json:\"date\" graphql:\"date\""
	Urls         []*URLFragment                 "json:\"urls\" graphql:\"urls\""
	Images       []*ImageFragment               "json:\"images\" graphql:\"images\""
	Studio       *StudioFragment                "json:\"studio\" graphql:\"studio\""
	Tags         []*TagFragment                 "json:\"tags\" graphql:\"tags\""
	Performers   []*PerformerAppearanceFragment "json:\"performers\" graphql:\"performers\""
	Fingerprints []*FingerprintFragment         "json:\"fingerprints\" graphql:\"fingerprints\""
}

type SceneQueryInput added in v0.14.0

type SceneQueryInput struct {
	// Filter to search title and details - assumes like query unless quoted
	Text *string `json:"text,omitempty"`
	// Filter to search title - assumes like query unless quoted
	Title *string `json:"title,omitempty"`
	// Filter to search urls - assumes like query unless quoted
	URL *string `json:"url,omitempty"`
	// Filter by date
	Date *DateCriterionInput `json:"date,omitempty"`
	// Filter to only include scenes with this studio
	Studios *MultiIDCriterionInput `json:"studios,omitempty"`
	// Filter to only include scenes with this studio as primary or parent
	ParentStudio *string `json:"parentStudio,omitempty"`
	// Filter to only include scenes with these tags
	Tags *MultiIDCriterionInput `json:"tags,omitempty"`
	// Filter to only include scenes with these performers
	Performers *MultiIDCriterionInput `json:"performers,omitempty"`
	// Filter to include scenes with performer appearing as alias
	Alias *StringCriterionInput `json:"alias,omitempty"`
	// Filter to only include scenes with these fingerprints
	Fingerprints *MultiStringCriterionInput `json:"fingerprints,omitempty"`
	// Filter by favorited entity
	Favorites *FavoriteFilter   `json:"favorites,omitempty"`
	Page      int               `json:"page"`
	PerPage   int               `json:"per_page"`
	Direction SortDirectionEnum `json:"direction"`
	Sort      SceneSortEnum     `json:"sort"`
}

type SceneSortEnum added in v0.14.0

type SceneSortEnum string
const (
	SceneSortEnumTitle     SceneSortEnum = "TITLE"
	SceneSortEnumDate      SceneSortEnum = "DATE"
	SceneSortEnumTrending  SceneSortEnum = "TRENDING"
	SceneSortEnumCreatedAt SceneSortEnum = "CREATED_AT"
	SceneSortEnumUpdatedAt SceneSortEnum = "UPDATED_AT"
)

func (SceneSortEnum) IsValid added in v0.14.0

func (e SceneSortEnum) IsValid() bool

func (SceneSortEnum) MarshalGQL added in v0.14.0

func (e SceneSortEnum) MarshalGQL(w io.Writer)

func (SceneSortEnum) String added in v0.14.0

func (e SceneSortEnum) String() string

func (*SceneSortEnum) UnmarshalGQL added in v0.14.0

func (e *SceneSortEnum) UnmarshalGQL(v interface{}) error

type SceneUpdateInput

type SceneUpdateInput struct {
	ID           string                      `json:"id"`
	Title        *string                     `json:"title,omitempty"`
	Details      *string                     `json:"details,omitempty"`
	Urls         []*URLInput                 `json:"urls,omitempty"`
	Date         *string                     `json:"date,omitempty"`
	StudioID     *string                     `json:"studio_id,omitempty"`
	Performers   []*PerformerAppearanceInput `json:"performers,omitempty"`
	TagIds       []string                    `json:"tag_ids,omitempty"`
	ImageIds     []string                    `json:"image_ids,omitempty"`
	Fingerprints []*FingerprintEditInput     `json:"fingerprints,omitempty"`
	Duration     *int                        `json:"duration,omitempty"`
	Director     *string                     `json:"director,omitempty"`
	Code         *string                     `json:"code,omitempty"`
}

type SearchPerformer added in v0.7.0

type SearchPerformer struct {
	SearchPerformer []*PerformerFragment "json:\"searchPerformer\" graphql:\"searchPerformer\""
}

type SearchScene

type SearchScene struct {
	SearchScene []*SceneFragment "json:\"searchScene\" graphql:\"searchScene\""
}

type Site added in v0.13.0

type Site struct {
	ID          string              `json:"id"`
	Name        string              `json:"name"`
	Description *string             `json:"description,omitempty"`
	URL         *string             `json:"url,omitempty"`
	Regex       *string             `json:"regex,omitempty"`
	ValidTypes  []ValidSiteTypeEnum `json:"valid_types,omitempty"`
	Icon        string              `json:"icon"`
	Created     time.Time           `json:"created"`
	Updated     time.Time           `json:"updated"`
}

type SiteCreateInput added in v0.13.0

type SiteCreateInput struct {
	Name        string              `json:"name"`
	Description *string             `json:"description,omitempty"`
	URL         *string             `json:"url,omitempty"`
	Regex       *string             `json:"regex,omitempty"`
	ValidTypes  []ValidSiteTypeEnum `json:"valid_types,omitempty"`
}

type SiteDestroyInput added in v0.13.0

type SiteDestroyInput struct {
	ID string `json:"id"`
}

type SiteUpdateInput added in v0.13.0

type SiteUpdateInput struct {
	ID          string              `json:"id"`
	Name        string              `json:"name"`
	Description *string             `json:"description,omitempty"`
	URL         *string             `json:"url,omitempty"`
	Regex       *string             `json:"regex,omitempty"`
	ValidTypes  []ValidSiteTypeEnum `json:"valid_types,omitempty"`
}

type SortDirectionEnum

type SortDirectionEnum string
const (
	SortDirectionEnumAsc  SortDirectionEnum = "ASC"
	SortDirectionEnumDesc SortDirectionEnum = "DESC"
)

func (SortDirectionEnum) IsValid

func (e SortDirectionEnum) IsValid() bool

func (SortDirectionEnum) MarshalGQL

func (e SortDirectionEnum) MarshalGQL(w io.Writer)

func (SortDirectionEnum) String

func (e SortDirectionEnum) String() string

func (*SortDirectionEnum) UnmarshalGQL

func (e *SortDirectionEnum) UnmarshalGQL(v interface{}) error

type StashBoxConfig added in v0.13.0

type StashBoxConfig struct {
	HostURL                    string `json:"host_url"`
	RequireInvite              bool   `json:"require_invite"`
	RequireActivation          bool   `json:"require_activation"`
	VotePromotionThreshold     *int   `json:"vote_promotion_threshold,omitempty"`
	VoteApplicationThreshold   int    `json:"vote_application_threshold"`
	VotingPeriod               int    `json:"voting_period"`
	MinDestructiveVotingPeriod int    `json:"min_destructive_voting_period"`
	VoteCronInterval           string `json:"vote_cron_interval"`
}

type StashBoxGraphQLClient added in v0.14.0

type StashBoxGraphQLClient interface {
	FindSceneByFingerprint(ctx context.Context, fingerprint FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByFingerprint, error)
	FindScenesByFullFingerprints(ctx context.Context, fingerprints []*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesByFullFingerprints, error)
	FindScenesBySceneFingerprints(ctx context.Context, fingerprints [][]*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesBySceneFingerprints, error)
	SearchScene(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchScene, error)
	SearchPerformer(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchPerformer, error)
	FindPerformerByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindPerformerByID, error)
	FindSceneByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByID, error)
	SubmitFingerprint(ctx context.Context, input FingerprintSubmission, httpRequestOptions ...client.HTTPRequestOption) (*SubmitFingerprint, error)
	Me(ctx context.Context, httpRequestOptions ...client.HTTPRequestOption) (*Me, error)
	SubmitSceneDraft(ctx context.Context, input SceneDraftInput, httpRequestOptions ...client.HTTPRequestOption) (*SubmitSceneDraft, error)
	SubmitPerformerDraft(ctx context.Context, input PerformerDraftInput, httpRequestOptions ...client.HTTPRequestOption) (*SubmitPerformerDraft, error)
}

func NewClient

func NewClient(cli *http.Client, baseURL string, options ...client.HTTPRequestOption) StashBoxGraphQLClient

type StringCriterionInput

type StringCriterionInput struct {
	Value    string            `json:"value"`
	Modifier CriterionModifier `json:"modifier"`
}

type Studio

type Studio struct {
	ID           string    `json:"id"`
	Name         string    `json:"name"`
	Urls         []*URL    `json:"urls,omitempty"`
	Parent       *Studio   `json:"parent,omitempty"`
	ChildStudios []*Studio `json:"child_studios,omitempty"`
	Images       []*Image  `json:"images,omitempty"`
	Deleted      bool      `json:"deleted"`
	IsFavorite   bool      `json:"is_favorite"`
	Created      time.Time `json:"created"`
	Updated      time.Time `json:"updated"`
}

func (Studio) IsEditTarget

func (Studio) IsEditTarget()

func (Studio) IsSceneDraftStudio added in v0.13.0

func (Studio) IsSceneDraftStudio()

type StudioCreateInput

type StudioCreateInput struct {
	Name     string      `json:"name"`
	Urls     []*URLInput `json:"urls,omitempty"`
	ParentID *string     `json:"parent_id,omitempty"`
	ImageIds []string    `json:"image_ids,omitempty"`
}

type StudioDestroyInput

type StudioDestroyInput struct {
	ID string `json:"id"`
}

type StudioEdit

type StudioEdit struct {
	Name *string `json:"name,omitempty"`
	// Added and modified URLs
	AddedUrls     []*URL   `json:"added_urls,omitempty"`
	RemovedUrls   []*URL   `json:"removed_urls,omitempty"`
	Parent        *Studio  `json:"parent,omitempty"`
	AddedImages   []*Image `json:"added_images,omitempty"`
	RemovedImages []*Image `json:"removed_images,omitempty"`
	Images        []*Image `json:"images,omitempty"`
	Urls          []*URL   `json:"urls,omitempty"`
}

func (StudioEdit) IsEditDetails

func (StudioEdit) IsEditDetails()

type StudioEditDetailsInput

type StudioEditDetailsInput struct {
	Name     *string     `json:"name,omitempty"`
	Urls     []*URLInput `json:"urls,omitempty"`
	ParentID *string     `json:"parent_id,omitempty"`
	ImageIds []string    `json:"image_ids,omitempty"`
}

type StudioEditInput

type StudioEditInput struct {
	Edit *EditInput `json:"edit,omitempty"`
	// Not required for destroy type
	Details *StudioEditDetailsInput `json:"details,omitempty"`
}

type StudioFragment

type StudioFragment struct {
	Name   string           "json:\"name\" graphql:\"name\""
	ID     string           "json:\"id\" graphql:\"id\""
	Urls   []*URLFragment   "json:\"urls\" graphql:\"urls\""
	Images []*ImageFragment "json:\"images\" graphql:\"images\""
}

type StudioQueryInput added in v0.14.0

type StudioQueryInput struct {
	// Filter to search name - assumes like query unless quoted
	Name *string `json:"name,omitempty"`
	// Filter to search studio and parent studio name - assumes like query unless quoted
	Names *string `json:"names,omitempty"`
	// Filter to search url - assumes like query unless quoted
	URL       *string           `json:"url,omitempty"`
	Parent    *IDCriterionInput `json:"parent,omitempty"`
	HasParent *bool             `json:"has_parent,omitempty"`
	// Filter by studio favorite status for the current user
	IsFavorite *bool             `json:"is_favorite,omitempty"`
	Page       int               `json:"page"`
	PerPage    int               `json:"per_page"`
	Direction  SortDirectionEnum `json:"direction"`
	Sort       StudioSortEnum    `json:"sort"`
}

type StudioSortEnum added in v0.14.0

type StudioSortEnum string
const (
	StudioSortEnumName      StudioSortEnum = "NAME"
	StudioSortEnumCreatedAt StudioSortEnum = "CREATED_AT"
	StudioSortEnumUpdatedAt StudioSortEnum = "UPDATED_AT"
)

func (StudioSortEnum) IsValid added in v0.14.0

func (e StudioSortEnum) IsValid() bool

func (StudioSortEnum) MarshalGQL added in v0.14.0

func (e StudioSortEnum) MarshalGQL(w io.Writer)

func (StudioSortEnum) String added in v0.14.0

func (e StudioSortEnum) String() string

func (*StudioSortEnum) UnmarshalGQL added in v0.14.0

func (e *StudioSortEnum) UnmarshalGQL(v interface{}) error

type StudioUpdateInput

type StudioUpdateInput struct {
	ID       string      `json:"id"`
	Name     *string     `json:"name,omitempty"`
	Urls     []*URLInput `json:"urls,omitempty"`
	ParentID *string     `json:"parent_id,omitempty"`
	ImageIds []string    `json:"image_ids,omitempty"`
}

type SubmitFingerprint added in v0.14.0

type SubmitFingerprint struct {
	SubmitFingerprint bool "json:\"submitFingerprint\" graphql:\"submitFingerprint\""
}

type SubmitPerformerDraft added in v0.14.0

type SubmitPerformerDraft struct {
	SubmitPerformerDraft struct {
		ID *string "json:\"id\" graphql:\"id\""
	} "json:\"submitPerformerDraft\" graphql:\"submitPerformerDraft\""
}

type SubmitSceneDraft added in v0.14.0

type SubmitSceneDraft struct {
	SubmitSceneDraft struct {
		ID *string "json:\"id\" graphql:\"id\""
	} "json:\"submitSceneDraft\" graphql:\"submitSceneDraft\""
}

type Tag

type Tag struct {
	ID          string       `json:"id"`
	Name        string       `json:"name"`
	Description *string      `json:"description,omitempty"`
	Aliases     []string     `json:"aliases,omitempty"`
	Deleted     bool         `json:"deleted"`
	Edits       []*Edit      `json:"edits,omitempty"`
	Category    *TagCategory `json:"category,omitempty"`
	Created     time.Time    `json:"created"`
	Updated     time.Time    `json:"updated"`
}

func (Tag) IsEditTarget

func (Tag) IsEditTarget()

func (Tag) IsSceneDraftTag added in v0.13.0

func (Tag) IsSceneDraftTag()

type TagCategory added in v0.7.0

type TagCategory struct {
	ID          string       `json:"id"`
	Name        string       `json:"name"`
	Group       TagGroupEnum `json:"group"`
	Description *string      `json:"description,omitempty"`
}

type TagCategoryCreateInput added in v0.7.0

type TagCategoryCreateInput struct {
	Name        string       `json:"name"`
	Group       TagGroupEnum `json:"group"`
	Description *string      `json:"description,omitempty"`
}

type TagCategoryDestroyInput added in v0.7.0

type TagCategoryDestroyInput struct {
	ID string `json:"id"`
}

type TagCategoryUpdateInput added in v0.7.0

type TagCategoryUpdateInput struct {
	ID          string        `json:"id"`
	Name        *string       `json:"name,omitempty"`
	Group       *TagGroupEnum `json:"group,omitempty"`
	Description *string       `json:"description,omitempty"`
}

type TagCreateInput

type TagCreateInput struct {
	Name        string   `json:"name"`
	Description *string  `json:"description,omitempty"`
	Aliases     []string `json:"aliases,omitempty"`
	CategoryID  *string  `json:"category_id,omitempty"`
}

type TagDestroyInput

type TagDestroyInput struct {
	ID string `json:"id"`
}

type TagEdit

type TagEdit struct {
	Name           *string      `json:"name,omitempty"`
	Description    *string      `json:"description,omitempty"`
	AddedAliases   []string     `json:"added_aliases,omitempty"`
	RemovedAliases []string     `json:"removed_aliases,omitempty"`
	Category       *TagCategory `json:"category,omitempty"`
	Aliases        []string     `json:"aliases,omitempty"`
}

func (TagEdit) IsEditDetails

func (TagEdit) IsEditDetails()

type TagEditDetailsInput

type TagEditDetailsInput struct {
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	Aliases     []string `json:"aliases,omitempty"`
	CategoryID  *string  `json:"category_id,omitempty"`
}

type TagEditInput

type TagEditInput struct {
	Edit *EditInput `json:"edit,omitempty"`
	// Not required for destroy type
	Details *TagEditDetailsInput `json:"details,omitempty"`
}

type TagFragment

type TagFragment struct {
	Name string "json:\"name\" graphql:\"name\""
	ID   string "json:\"id\" graphql:\"id\""
}

type TagGroupEnum added in v0.7.0

type TagGroupEnum string
const (
	TagGroupEnumPeople TagGroupEnum = "PEOPLE"
	TagGroupEnumScene  TagGroupEnum = "SCENE"
	TagGroupEnumAction TagGroupEnum = "ACTION"
)

func (TagGroupEnum) IsValid added in v0.7.0

func (e TagGroupEnum) IsValid() bool

func (TagGroupEnum) MarshalGQL added in v0.7.0

func (e TagGroupEnum) MarshalGQL(w io.Writer)

func (TagGroupEnum) String added in v0.7.0

func (e TagGroupEnum) String() string

func (*TagGroupEnum) UnmarshalGQL added in v0.7.0

func (e *TagGroupEnum) UnmarshalGQL(v interface{}) error

type TagQueryInput added in v0.14.0

type TagQueryInput struct {
	// Filter to search name, aliases and description - assumes like query unless quoted
	Text *string `json:"text,omitempty"`
	// Searches name and aliases - assumes like query unless quoted
	Names *string `json:"names,omitempty"`
	// Filter to search name - assumes like query unless quoted
	Name *string `json:"name,omitempty"`
	// Filter to category ID
	CategoryID *string           `json:"category_id,omitempty"`
	Page       int               `json:"page"`
	PerPage    int               `json:"per_page"`
	Direction  SortDirectionEnum `json:"direction"`
	Sort       TagSortEnum       `json:"sort"`
}

type TagSortEnum added in v0.14.0

type TagSortEnum string
const (
	TagSortEnumName      TagSortEnum = "NAME"
	TagSortEnumCreatedAt TagSortEnum = "CREATED_AT"
	TagSortEnumUpdatedAt TagSortEnum = "UPDATED_AT"
)

func (TagSortEnum) IsValid added in v0.14.0

func (e TagSortEnum) IsValid() bool

func (TagSortEnum) MarshalGQL added in v0.14.0

func (e TagSortEnum) MarshalGQL(w io.Writer)

func (TagSortEnum) String added in v0.14.0

func (e TagSortEnum) String() string

func (*TagSortEnum) UnmarshalGQL added in v0.14.0

func (e *TagSortEnum) UnmarshalGQL(v interface{}) error

type TagUpdateInput

type TagUpdateInput struct {
	ID          string   `json:"id"`
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	Aliases     []string `json:"aliases,omitempty"`
	CategoryID  *string  `json:"category_id,omitempty"`
}

type TargetTypeEnum

type TargetTypeEnum string
const (
	TargetTypeEnumScene     TargetTypeEnum = "SCENE"
	TargetTypeEnumStudio    TargetTypeEnum = "STUDIO"
	TargetTypeEnumPerformer TargetTypeEnum = "PERFORMER"
	TargetTypeEnumTag       TargetTypeEnum = "TAG"
)

func (TargetTypeEnum) IsValid

func (e TargetTypeEnum) IsValid() bool

func (TargetTypeEnum) MarshalGQL

func (e TargetTypeEnum) MarshalGQL(w io.Writer)

func (TargetTypeEnum) String

func (e TargetTypeEnum) String() string

func (*TargetTypeEnum) UnmarshalGQL

func (e *TargetTypeEnum) UnmarshalGQL(v interface{}) error

type URL

type URL struct {
	URL  string `json:"url"`
	Type string `json:"type"`
	Site *Site  `json:"site,omitempty"`
}

type URLFragment

type URLFragment struct {
	URL  string "json:\"url\" graphql:\"url\""
	Type string "json:\"type\" graphql:\"type\""
}

type URLInput

type URLInput struct {
	URL    string `json:"url"`
	SiteID string `json:"site_id"`
}

type User

type User struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	// Should not be visible to other users
	Roles []RoleEnum `json:"roles,omitempty"`
	// Should not be visible to other users
	Email *string `json:"email,omitempty"`
	// Should not be visible to other users
	APIKey *string `json:"api_key,omitempty"`
	//  Vote counts by type
	VoteCount *UserVoteCount `json:"vote_count,omitempty"`
	//  Edit counts by status
	EditCount *UserEditCount `json:"edit_count,omitempty"`
	// Calls to the API from this user over a configurable time period
	APICalls          int      `json:"api_calls"`
	InvitedBy         *User    `json:"invited_by,omitempty"`
	InviteTokens      *int     `json:"invite_tokens,omitempty"`
	ActiveInviteCodes []string `json:"active_invite_codes,omitempty"`
}

type UserChangePasswordInput

type UserChangePasswordInput struct {
	// Password in plain text
	ExistingPassword *string `json:"existing_password,omitempty"`
	NewPassword      string  `json:"new_password"`
	ResetKey         *string `json:"reset_key,omitempty"`
}

type UserCreateInput

type UserCreateInput struct {
	Name string `json:"name"`
	// Password in plain text
	Password    string     `json:"password"`
	Roles       []RoleEnum `json:"roles,omitempty"`
	Email       string     `json:"email"`
	InvitedByID *string    `json:"invited_by_id,omitempty"`
}

type UserDestroyInput

type UserDestroyInput struct {
	ID string `json:"id"`
}

type UserEditCount added in v0.13.0

type UserEditCount struct {
	Accepted          int `json:"accepted"`
	Rejected          int `json:"rejected"`
	Pending           int `json:"pending"`
	ImmediateAccepted int `json:"immediate_accepted"`
	ImmediateRejected int `json:"immediate_rejected"`
	Failed            int `json:"failed"`
	Canceled          int `json:"canceled"`
}

type UserQueryInput added in v0.14.0

type UserQueryInput struct {
	// Filter to search user name - assumes like query unless quoted
	Name *string `json:"name,omitempty"`
	// Filter to search email - assumes like query unless quoted
	Email *string `json:"email,omitempty"`
	// Filter by roles
	Roles *RoleCriterionInput `json:"roles,omitempty"`
	// Filter by api key
	APIKey *string `json:"apiKey,omitempty"`
	// Filter by successful edits
	SuccessfulEdits *IntCriterionInput `json:"successful_edits,omitempty"`
	// Filter by unsuccessful edits
	UnsuccessfulEdits *IntCriterionInput `json:"unsuccessful_edits,omitempty"`
	// Filter by votes on successful edits
	SuccessfulVotes *IntCriterionInput `json:"successful_votes,omitempty"`
	// Filter by votes on unsuccessful edits
	UnsuccessfulVotes *IntCriterionInput `json:"unsuccessful_votes,omitempty"`
	// Filter by number of API calls
	APICalls *IntCriterionInput `json:"api_calls,omitempty"`
	// Filter by user that invited
	InvitedBy *string `json:"invited_by,omitempty"`
	Page      int     `json:"page"`
	PerPage   int     `json:"per_page"`
}

type UserUpdateInput

type UserUpdateInput struct {
	ID   string  `json:"id"`
	Name *string `json:"name,omitempty"`
	// Password in plain text
	Password *string    `json:"password,omitempty"`
	Roles    []RoleEnum `json:"roles,omitempty"`
	Email    *string    `json:"email,omitempty"`
}

type UserVoteCount added in v0.13.0

type UserVoteCount struct {
	Abstain         int `json:"abstain"`
	Accept          int `json:"accept"`
	Reject          int `json:"reject"`
	ImmediateAccept int `json:"immediate_accept"`
	ImmediateReject int `json:"immediate_reject"`
}

type ValidSiteTypeEnum added in v0.13.0

type ValidSiteTypeEnum string
const (
	ValidSiteTypeEnumPerformer ValidSiteTypeEnum = "PERFORMER"
	ValidSiteTypeEnumScene     ValidSiteTypeEnum = "SCENE"
	ValidSiteTypeEnumStudio    ValidSiteTypeEnum = "STUDIO"
)

func (ValidSiteTypeEnum) IsValid added in v0.13.0

func (e ValidSiteTypeEnum) IsValid() bool

func (ValidSiteTypeEnum) MarshalGQL added in v0.13.0

func (e ValidSiteTypeEnum) MarshalGQL(w io.Writer)

func (ValidSiteTypeEnum) String added in v0.13.0

func (e ValidSiteTypeEnum) String() string

func (*ValidSiteTypeEnum) UnmarshalGQL added in v0.13.0

func (e *ValidSiteTypeEnum) UnmarshalGQL(v interface{}) error

type Version

type Version struct {
	Hash      string `json:"hash"`
	BuildTime string `json:"build_time"`
	BuildType string `json:"build_type"`
	Version   string `json:"version"`
}

type VoteStatusEnum

type VoteStatusEnum string
const (
	VoteStatusEnumAccepted          VoteStatusEnum = "ACCEPTED"
	VoteStatusEnumRejected          VoteStatusEnum = "REJECTED"
	VoteStatusEnumPending           VoteStatusEnum = "PENDING"
	VoteStatusEnumImmediateAccepted VoteStatusEnum = "IMMEDIATE_ACCEPTED"
	VoteStatusEnumImmediateRejected VoteStatusEnum = "IMMEDIATE_REJECTED"
	VoteStatusEnumFailed            VoteStatusEnum = "FAILED"
	VoteStatusEnumCanceled          VoteStatusEnum = "CANCELED"
)

func (VoteStatusEnum) IsValid

func (e VoteStatusEnum) IsValid() bool

func (VoteStatusEnum) MarshalGQL

func (e VoteStatusEnum) MarshalGQL(w io.Writer)

func (VoteStatusEnum) String

func (e VoteStatusEnum) String() string

func (*VoteStatusEnum) UnmarshalGQL

func (e *VoteStatusEnum) UnmarshalGQL(v interface{}) error

type VoteTypeEnum

type VoteTypeEnum string
const (
	VoteTypeEnumAbstain VoteTypeEnum = "ABSTAIN"
	VoteTypeEnumAccept  VoteTypeEnum = "ACCEPT"
	VoteTypeEnumReject  VoteTypeEnum = "REJECT"
	// Immediately accepts the edit - bypassing the vote
	VoteTypeEnumImmediateAccept VoteTypeEnum = "IMMEDIATE_ACCEPT"
	// Immediately rejects the edit - bypassing the vote
	VoteTypeEnumImmediateReject VoteTypeEnum = "IMMEDIATE_REJECT"
)

func (VoteTypeEnum) IsValid

func (e VoteTypeEnum) IsValid() bool

func (VoteTypeEnum) MarshalGQL

func (e VoteTypeEnum) MarshalGQL(w io.Writer)

func (VoteTypeEnum) String

func (e VoteTypeEnum) String() string

func (*VoteTypeEnum) UnmarshalGQL

func (e *VoteTypeEnum) UnmarshalGQL(v interface{}) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL