mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
Fixes gender-mapping with StashBox (#2992)
This commit is contained in:
@@ -55,8 +55,10 @@ type Query struct {
|
|||||||
Me *User "json:\"me\" graphql:\"me\""
|
Me *User "json:\"me\" graphql:\"me\""
|
||||||
SearchPerformer []*Performer "json:\"searchPerformer\" graphql:\"searchPerformer\""
|
SearchPerformer []*Performer "json:\"searchPerformer\" graphql:\"searchPerformer\""
|
||||||
SearchScene []*Scene "json:\"searchScene\" graphql:\"searchScene\""
|
SearchScene []*Scene "json:\"searchScene\" graphql:\"searchScene\""
|
||||||
|
SearchTag []*Tag "json:\"searchTag\" graphql:\"searchTag\""
|
||||||
FindDraft *Draft "json:\"findDraft\" graphql:\"findDraft\""
|
FindDraft *Draft "json:\"findDraft\" graphql:\"findDraft\""
|
||||||
FindDrafts []*Draft "json:\"findDrafts\" graphql:\"findDrafts\""
|
FindDrafts []*Draft "json:\"findDrafts\" graphql:\"findDrafts\""
|
||||||
|
QueryExistingScene QueryExistingSceneResult "json:\"queryExistingScene\" graphql:\"queryExistingScene\""
|
||||||
Version Version "json:\"version\" graphql:\"version\""
|
Version Version "json:\"version\" graphql:\"version\""
|
||||||
GetConfig StashBoxConfig "json:\"getConfig\" graphql:\"getConfig\""
|
GetConfig StashBoxConfig "json:\"getConfig\" graphql:\"getConfig\""
|
||||||
}
|
}
|
||||||
@@ -235,72 +237,6 @@ const FindSceneByFingerprintDocument = `query FindSceneByFingerprint ($fingerpri
|
|||||||
... SceneFragment
|
... SceneFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment URLFragment on URL {
|
|
||||||
url
|
|
||||||
type
|
|
||||||
}
|
|
||||||
fragment ImageFragment on Image {
|
|
||||||
id
|
|
||||||
url
|
|
||||||
width
|
|
||||||
height
|
|
||||||
}
|
|
||||||
fragment TagFragment on Tag {
|
|
||||||
name
|
|
||||||
id
|
|
||||||
}
|
|
||||||
fragment MeasurementsFragment on Measurements {
|
|
||||||
band_size
|
|
||||||
cup_size
|
|
||||||
waist
|
|
||||||
hip
|
|
||||||
}
|
|
||||||
fragment FingerprintFragment on Fingerprint {
|
|
||||||
algorithm
|
|
||||||
hash
|
|
||||||
duration
|
|
||||||
}
|
|
||||||
fragment SceneFragment on Scene {
|
|
||||||
id
|
|
||||||
title
|
|
||||||
details
|
|
||||||
duration
|
|
||||||
date
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
studio {
|
|
||||||
... StudioFragment
|
|
||||||
}
|
|
||||||
tags {
|
|
||||||
... TagFragment
|
|
||||||
}
|
|
||||||
performers {
|
|
||||||
... PerformerAppearanceFragment
|
|
||||||
}
|
|
||||||
fingerprints {
|
|
||||||
... FingerprintFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment StudioFragment on Studio {
|
|
||||||
name
|
|
||||||
id
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment PerformerAppearanceFragment on PerformerAppearance {
|
|
||||||
as
|
|
||||||
performer {
|
|
||||||
... PerformerFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment PerformerFragment on Performer {
|
fragment PerformerFragment on Performer {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -335,14 +271,80 @@ fragment PerformerFragment on Performer {
|
|||||||
... BodyModificationFragment
|
... BodyModificationFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fragment FingerprintFragment on Fingerprint {
|
||||||
|
algorithm
|
||||||
|
hash
|
||||||
|
duration
|
||||||
|
}
|
||||||
|
fragment SceneFragment on Scene {
|
||||||
|
id
|
||||||
|
title
|
||||||
|
details
|
||||||
|
duration
|
||||||
|
date
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
studio {
|
||||||
|
... StudioFragment
|
||||||
|
}
|
||||||
|
tags {
|
||||||
|
... TagFragment
|
||||||
|
}
|
||||||
|
performers {
|
||||||
|
... PerformerAppearanceFragment
|
||||||
|
}
|
||||||
|
fingerprints {
|
||||||
|
... FingerprintFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment URLFragment on URL {
|
||||||
|
url
|
||||||
|
type
|
||||||
|
}
|
||||||
|
fragment TagFragment on Tag {
|
||||||
|
name
|
||||||
|
id
|
||||||
|
}
|
||||||
fragment FuzzyDateFragment on FuzzyDate {
|
fragment FuzzyDateFragment on FuzzyDate {
|
||||||
date
|
date
|
||||||
accuracy
|
accuracy
|
||||||
}
|
}
|
||||||
|
fragment MeasurementsFragment on Measurements {
|
||||||
|
band_size
|
||||||
|
cup_size
|
||||||
|
waist
|
||||||
|
hip
|
||||||
|
}
|
||||||
fragment BodyModificationFragment on BodyModification {
|
fragment BodyModificationFragment on BodyModification {
|
||||||
location
|
location
|
||||||
description
|
description
|
||||||
}
|
}
|
||||||
|
fragment ImageFragment on Image {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
width
|
||||||
|
height
|
||||||
|
}
|
||||||
|
fragment StudioFragment on Studio {
|
||||||
|
name
|
||||||
|
id
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment PerformerAppearanceFragment on PerformerAppearance {
|
||||||
|
as
|
||||||
|
performer {
|
||||||
|
... PerformerFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
func (c *Client) FindSceneByFingerprint(ctx context.Context, fingerprint FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByFingerprint, error) {
|
func (c *Client) FindSceneByFingerprint(ctx context.Context, fingerprint FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByFingerprint, error) {
|
||||||
@@ -363,70 +365,10 @@ const FindScenesByFullFingerprintsDocument = `query FindScenesByFullFingerprints
|
|||||||
... SceneFragment
|
... SceneFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment SceneFragment on Scene {
|
|
||||||
id
|
|
||||||
title
|
|
||||||
details
|
|
||||||
duration
|
|
||||||
date
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
studio {
|
|
||||||
... StudioFragment
|
|
||||||
}
|
|
||||||
tags {
|
|
||||||
... TagFragment
|
|
||||||
}
|
|
||||||
performers {
|
|
||||||
... PerformerAppearanceFragment
|
|
||||||
}
|
|
||||||
fingerprints {
|
|
||||||
... FingerprintFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment URLFragment on URL {
|
fragment URLFragment on URL {
|
||||||
url
|
url
|
||||||
type
|
type
|
||||||
}
|
}
|
||||||
fragment StudioFragment on Studio {
|
|
||||||
name
|
|
||||||
id
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment PerformerAppearanceFragment on PerformerAppearance {
|
|
||||||
as
|
|
||||||
performer {
|
|
||||||
... PerformerFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment BodyModificationFragment on BodyModification {
|
|
||||||
location
|
|
||||||
description
|
|
||||||
}
|
|
||||||
fragment FingerprintFragment on Fingerprint {
|
|
||||||
algorithm
|
|
||||||
hash
|
|
||||||
duration
|
|
||||||
}
|
|
||||||
fragment ImageFragment on Image {
|
|
||||||
id
|
|
||||||
url
|
|
||||||
width
|
|
||||||
height
|
|
||||||
}
|
|
||||||
fragment TagFragment on Tag {
|
|
||||||
name
|
|
||||||
id
|
|
||||||
}
|
|
||||||
fragment PerformerFragment on Performer {
|
fragment PerformerFragment on Performer {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -461,6 +403,56 @@ fragment PerformerFragment on Performer {
|
|||||||
... BodyModificationFragment
|
... BodyModificationFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fragment FingerprintFragment on Fingerprint {
|
||||||
|
algorithm
|
||||||
|
hash
|
||||||
|
duration
|
||||||
|
}
|
||||||
|
fragment SceneFragment on Scene {
|
||||||
|
id
|
||||||
|
title
|
||||||
|
details
|
||||||
|
duration
|
||||||
|
date
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
studio {
|
||||||
|
... StudioFragment
|
||||||
|
}
|
||||||
|
tags {
|
||||||
|
... TagFragment
|
||||||
|
}
|
||||||
|
performers {
|
||||||
|
... PerformerAppearanceFragment
|
||||||
|
}
|
||||||
|
fingerprints {
|
||||||
|
... FingerprintFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment StudioFragment on Studio {
|
||||||
|
name
|
||||||
|
id
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment TagFragment on Tag {
|
||||||
|
name
|
||||||
|
id
|
||||||
|
}
|
||||||
|
fragment PerformerAppearanceFragment on PerformerAppearance {
|
||||||
|
as
|
||||||
|
performer {
|
||||||
|
... PerformerFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
fragment FuzzyDateFragment on FuzzyDate {
|
fragment FuzzyDateFragment on FuzzyDate {
|
||||||
date
|
date
|
||||||
accuracy
|
accuracy
|
||||||
@@ -471,6 +463,16 @@ fragment MeasurementsFragment on Measurements {
|
|||||||
waist
|
waist
|
||||||
hip
|
hip
|
||||||
}
|
}
|
||||||
|
fragment BodyModificationFragment on BodyModification {
|
||||||
|
location
|
||||||
|
description
|
||||||
|
}
|
||||||
|
fragment ImageFragment on Image {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
width
|
||||||
|
height
|
||||||
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
func (c *Client) FindScenesByFullFingerprints(ctx context.Context, fingerprints []*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesByFullFingerprints, error) {
|
func (c *Client) FindScenesByFullFingerprints(ctx context.Context, fingerprints []*FingerprintQueryInput, httpRequestOptions ...client.HTTPRequestOption) (*FindScenesByFullFingerprints, error) {
|
||||||
@@ -491,9 +493,30 @@ const FindScenesBySceneFingerprintsDocument = `query FindScenesBySceneFingerprin
|
|||||||
... SceneFragment
|
... SceneFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment URLFragment on URL {
|
fragment SceneFragment on Scene {
|
||||||
url
|
id
|
||||||
type
|
title
|
||||||
|
details
|
||||||
|
duration
|
||||||
|
date
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
studio {
|
||||||
|
... StudioFragment
|
||||||
|
}
|
||||||
|
tags {
|
||||||
|
... TagFragment
|
||||||
|
}
|
||||||
|
performers {
|
||||||
|
... PerformerAppearanceFragment
|
||||||
|
}
|
||||||
|
fingerprints {
|
||||||
|
... FingerprintFragment
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fragment ImageFragment on Image {
|
fragment ImageFragment on Image {
|
||||||
id
|
id
|
||||||
@@ -545,41 +568,14 @@ fragment PerformerFragment on Performer {
|
|||||||
... BodyModificationFragment
|
... BodyModificationFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment MeasurementsFragment on Measurements {
|
|
||||||
band_size
|
|
||||||
cup_size
|
|
||||||
waist
|
|
||||||
hip
|
|
||||||
}
|
|
||||||
fragment FingerprintFragment on Fingerprint {
|
fragment FingerprintFragment on Fingerprint {
|
||||||
algorithm
|
algorithm
|
||||||
hash
|
hash
|
||||||
duration
|
duration
|
||||||
}
|
}
|
||||||
fragment SceneFragment on Scene {
|
fragment URLFragment on URL {
|
||||||
id
|
url
|
||||||
title
|
type
|
||||||
details
|
|
||||||
duration
|
|
||||||
date
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
studio {
|
|
||||||
... StudioFragment
|
|
||||||
}
|
|
||||||
tags {
|
|
||||||
... TagFragment
|
|
||||||
}
|
|
||||||
performers {
|
|
||||||
... PerformerAppearanceFragment
|
|
||||||
}
|
|
||||||
fingerprints {
|
|
||||||
... FingerprintFragment
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
fragment TagFragment on Tag {
|
fragment TagFragment on Tag {
|
||||||
name
|
name
|
||||||
@@ -595,6 +591,12 @@ fragment FuzzyDateFragment on FuzzyDate {
|
|||||||
date
|
date
|
||||||
accuracy
|
accuracy
|
||||||
}
|
}
|
||||||
|
fragment MeasurementsFragment on Measurements {
|
||||||
|
band_size
|
||||||
|
cup_size
|
||||||
|
waist
|
||||||
|
hip
|
||||||
|
}
|
||||||
fragment BodyModificationFragment on BodyModification {
|
fragment BodyModificationFragment on BodyModification {
|
||||||
location
|
location
|
||||||
description
|
description
|
||||||
@@ -619,6 +621,10 @@ const SearchSceneDocument = `query SearchScene ($term: String!) {
|
|||||||
... SceneFragment
|
... SceneFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fragment FuzzyDateFragment on FuzzyDate {
|
||||||
|
date
|
||||||
|
accuracy
|
||||||
|
}
|
||||||
fragment SceneFragment on Scene {
|
fragment SceneFragment on Scene {
|
||||||
id
|
id
|
||||||
title
|
title
|
||||||
@@ -644,10 +650,6 @@ fragment SceneFragment on Scene {
|
|||||||
... FingerprintFragment
|
... FingerprintFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment URLFragment on URL {
|
|
||||||
url
|
|
||||||
type
|
|
||||||
}
|
|
||||||
fragment ImageFragment on Image {
|
fragment ImageFragment on Image {
|
||||||
id
|
id
|
||||||
url
|
url
|
||||||
@@ -658,6 +660,35 @@ fragment TagFragment on Tag {
|
|||||||
name
|
name
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
|
fragment PerformerAppearanceFragment on PerformerAppearance {
|
||||||
|
as
|
||||||
|
performer {
|
||||||
|
... PerformerFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment BodyModificationFragment on BodyModification {
|
||||||
|
location
|
||||||
|
description
|
||||||
|
}
|
||||||
|
fragment FingerprintFragment on Fingerprint {
|
||||||
|
algorithm
|
||||||
|
hash
|
||||||
|
duration
|
||||||
|
}
|
||||||
|
fragment URLFragment on URL {
|
||||||
|
url
|
||||||
|
type
|
||||||
|
}
|
||||||
|
fragment StudioFragment on Studio {
|
||||||
|
name
|
||||||
|
id
|
||||||
|
urls {
|
||||||
|
... URLFragment
|
||||||
|
}
|
||||||
|
images {
|
||||||
|
... ImageFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
fragment PerformerFragment on Performer {
|
fragment PerformerFragment on Performer {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -692,41 +723,12 @@ fragment PerformerFragment on Performer {
|
|||||||
... BodyModificationFragment
|
... BodyModificationFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment FuzzyDateFragment on FuzzyDate {
|
|
||||||
date
|
|
||||||
accuracy
|
|
||||||
}
|
|
||||||
fragment FingerprintFragment on Fingerprint {
|
|
||||||
algorithm
|
|
||||||
hash
|
|
||||||
duration
|
|
||||||
}
|
|
||||||
fragment StudioFragment on Studio {
|
|
||||||
name
|
|
||||||
id
|
|
||||||
urls {
|
|
||||||
... URLFragment
|
|
||||||
}
|
|
||||||
images {
|
|
||||||
... ImageFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment PerformerAppearanceFragment on PerformerAppearance {
|
|
||||||
as
|
|
||||||
performer {
|
|
||||||
... PerformerFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment MeasurementsFragment on Measurements {
|
fragment MeasurementsFragment on Measurements {
|
||||||
band_size
|
band_size
|
||||||
cup_size
|
cup_size
|
||||||
waist
|
waist
|
||||||
hip
|
hip
|
||||||
}
|
}
|
||||||
fragment BodyModificationFragment on BodyModification {
|
|
||||||
location
|
|
||||||
description
|
|
||||||
}
|
|
||||||
`
|
`
|
||||||
|
|
||||||
func (c *Client) SearchScene(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchScene, error) {
|
func (c *Client) SearchScene(ctx context.Context, term string, httpRequestOptions ...client.HTTPRequestOption) (*SearchScene, error) {
|
||||||
@@ -825,6 +827,16 @@ const FindPerformerByIDDocument = `query FindPerformerByID ($id: ID!) {
|
|||||||
... PerformerFragment
|
... PerformerFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fragment MeasurementsFragment on Measurements {
|
||||||
|
band_size
|
||||||
|
cup_size
|
||||||
|
waist
|
||||||
|
hip
|
||||||
|
}
|
||||||
|
fragment BodyModificationFragment on BodyModification {
|
||||||
|
location
|
||||||
|
description
|
||||||
|
}
|
||||||
fragment PerformerFragment on Performer {
|
fragment PerformerFragment on Performer {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -873,16 +885,6 @@ fragment FuzzyDateFragment on FuzzyDate {
|
|||||||
date
|
date
|
||||||
accuracy
|
accuracy
|
||||||
}
|
}
|
||||||
fragment MeasurementsFragment on Measurements {
|
|
||||||
band_size
|
|
||||||
cup_size
|
|
||||||
waist
|
|
||||||
hip
|
|
||||||
}
|
|
||||||
fragment BodyModificationFragment on BodyModification {
|
|
||||||
location
|
|
||||||
description
|
|
||||||
}
|
|
||||||
`
|
`
|
||||||
|
|
||||||
func (c *Client) FindPerformerByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindPerformerByID, error) {
|
func (c *Client) FindPerformerByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindPerformerByID, error) {
|
||||||
@@ -907,20 +909,32 @@ fragment BodyModificationFragment on BodyModification {
|
|||||||
location
|
location
|
||||||
description
|
description
|
||||||
}
|
}
|
||||||
fragment URLFragment on URL {
|
|
||||||
url
|
|
||||||
type
|
|
||||||
}
|
|
||||||
fragment ImageFragment on Image {
|
fragment ImageFragment on Image {
|
||||||
id
|
id
|
||||||
url
|
url
|
||||||
width
|
width
|
||||||
height
|
height
|
||||||
}
|
}
|
||||||
|
fragment FuzzyDateFragment on FuzzyDate {
|
||||||
|
date
|
||||||
|
accuracy
|
||||||
|
}
|
||||||
|
fragment MeasurementsFragment on Measurements {
|
||||||
|
band_size
|
||||||
|
cup_size
|
||||||
|
waist
|
||||||
|
hip
|
||||||
|
}
|
||||||
fragment TagFragment on Tag {
|
fragment TagFragment on Tag {
|
||||||
name
|
name
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
|
fragment PerformerAppearanceFragment on PerformerAppearance {
|
||||||
|
as
|
||||||
|
performer {
|
||||||
|
... PerformerFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
fragment PerformerFragment on Performer {
|
fragment PerformerFragment on Performer {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -955,15 +969,10 @@ fragment PerformerFragment on Performer {
|
|||||||
... BodyModificationFragment
|
... BodyModificationFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment FuzzyDateFragment on FuzzyDate {
|
fragment FingerprintFragment on Fingerprint {
|
||||||
date
|
algorithm
|
||||||
accuracy
|
hash
|
||||||
}
|
duration
|
||||||
fragment MeasurementsFragment on Measurements {
|
|
||||||
band_size
|
|
||||||
cup_size
|
|
||||||
waist
|
|
||||||
hip
|
|
||||||
}
|
}
|
||||||
fragment SceneFragment on Scene {
|
fragment SceneFragment on Scene {
|
||||||
id
|
id
|
||||||
@@ -990,6 +999,10 @@ fragment SceneFragment on Scene {
|
|||||||
... FingerprintFragment
|
... FingerprintFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fragment URLFragment on URL {
|
||||||
|
url
|
||||||
|
type
|
||||||
|
}
|
||||||
fragment StudioFragment on Studio {
|
fragment StudioFragment on Studio {
|
||||||
name
|
name
|
||||||
id
|
id
|
||||||
@@ -1000,17 +1013,6 @@ fragment StudioFragment on Studio {
|
|||||||
... ImageFragment
|
... ImageFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fragment PerformerAppearanceFragment on PerformerAppearance {
|
|
||||||
as
|
|
||||||
performer {
|
|
||||||
... PerformerFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fragment FingerprintFragment on Fingerprint {
|
|
||||||
algorithm
|
|
||||||
hash
|
|
||||||
duration
|
|
||||||
}
|
|
||||||
`
|
`
|
||||||
|
|
||||||
func (c *Client) FindSceneByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByID, error) {
|
func (c *Client) FindSceneByID(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*FindSceneByID, error) {
|
||||||
|
|||||||
@@ -88,9 +88,9 @@ type DraftEntity struct {
|
|||||||
ID *string `json:"id,omitempty"`
|
ID *string `json:"id,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DraftEntity) IsSceneDraftPerformer() {}
|
|
||||||
func (DraftEntity) IsSceneDraftStudio() {}
|
func (DraftEntity) IsSceneDraftStudio() {}
|
||||||
func (DraftEntity) IsSceneDraftTag() {}
|
func (DraftEntity) IsSceneDraftTag() {}
|
||||||
|
func (DraftEntity) IsSceneDraftPerformer() {}
|
||||||
|
|
||||||
type DraftEntityInput struct {
|
type DraftEntityInput struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
@@ -583,6 +583,17 @@ type QueryEditsResultType struct {
|
|||||||
Edits []*Edit `json:"edits,omitempty"`
|
Edits []*Edit `json:"edits,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type QueryExistingSceneInput struct {
|
||||||
|
Title *string `json:"title,omitempty"`
|
||||||
|
StudioID *string `json:"studio_id,omitempty"`
|
||||||
|
Fingerprints []*FingerprintInput `json:"fingerprints,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type QueryExistingSceneResult struct {
|
||||||
|
Edits []*Edit `json:"edits,omitempty"`
|
||||||
|
Scenes []*Scene `json:"scenes,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
type QueryPerformersResultType struct {
|
type QueryPerformersResultType struct {
|
||||||
Count int `json:"count"`
|
Count int `json:"count"`
|
||||||
Performers []*Performer `json:"performers,omitempty"`
|
Performers []*Performer `json:"performers,omitempty"`
|
||||||
@@ -738,7 +749,6 @@ type SceneEditInput struct {
|
|||||||
Edit *EditInput `json:"edit,omitempty"`
|
Edit *EditInput `json:"edit,omitempty"`
|
||||||
// Not required for destroy type
|
// Not required for destroy type
|
||||||
Details *SceneEditDetailsInput `json:"details,omitempty"`
|
Details *SceneEditDetailsInput `json:"details,omitempty"`
|
||||||
Duration *int `json:"duration,omitempty"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type SceneQueryInput struct {
|
type SceneQueryInput struct {
|
||||||
@@ -762,6 +772,8 @@ type SceneQueryInput struct {
|
|||||||
Alias *StringCriterionInput `json:"alias,omitempty"`
|
Alias *StringCriterionInput `json:"alias,omitempty"`
|
||||||
// Filter to only include scenes with these fingerprints
|
// Filter to only include scenes with these fingerprints
|
||||||
Fingerprints *MultiStringCriterionInput `json:"fingerprints,omitempty"`
|
Fingerprints *MultiStringCriterionInput `json:"fingerprints,omitempty"`
|
||||||
|
// Filter by favorited entity
|
||||||
|
Favorites *FavoriteFilter `json:"favorites,omitempty"`
|
||||||
Page int `json:"page"`
|
Page int `json:"page"`
|
||||||
PerPage int `json:"per_page"`
|
PerPage int `json:"per_page"`
|
||||||
Direction SortDirectionEnum `json:"direction"`
|
Direction SortDirectionEnum `json:"direction"`
|
||||||
@@ -846,8 +858,8 @@ type Studio struct {
|
|||||||
Updated time.Time `json:"updated"`
|
Updated time.Time `json:"updated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Studio) IsEditTarget() {}
|
|
||||||
func (Studio) IsSceneDraftStudio() {}
|
func (Studio) IsSceneDraftStudio() {}
|
||||||
|
func (Studio) IsEditTarget() {}
|
||||||
|
|
||||||
type StudioCreateInput struct {
|
type StudioCreateInput struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
@@ -924,8 +936,8 @@ type Tag struct {
|
|||||||
Updated time.Time `json:"updated"`
|
Updated time.Time `json:"updated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Tag) IsEditTarget() {}
|
|
||||||
func (Tag) IsSceneDraftTag() {}
|
func (Tag) IsSceneDraftTag() {}
|
||||||
|
func (Tag) IsEditTarget() {}
|
||||||
|
|
||||||
type TagCategory struct {
|
type TagCategory struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
@@ -1467,6 +1479,49 @@ func (e EyeColorEnum) MarshalGQL(w io.Writer) {
|
|||||||
fmt.Fprint(w, strconv.Quote(e.String()))
|
fmt.Fprint(w, strconv.Quote(e.String()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FavoriteFilter string
|
||||||
|
|
||||||
|
const (
|
||||||
|
FavoriteFilterPerformer FavoriteFilter = "PERFORMER"
|
||||||
|
FavoriteFilterStudio FavoriteFilter = "STUDIO"
|
||||||
|
FavoriteFilterAll FavoriteFilter = "ALL"
|
||||||
|
)
|
||||||
|
|
||||||
|
var AllFavoriteFilter = []FavoriteFilter{
|
||||||
|
FavoriteFilterPerformer,
|
||||||
|
FavoriteFilterStudio,
|
||||||
|
FavoriteFilterAll,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e FavoriteFilter) IsValid() bool {
|
||||||
|
switch e {
|
||||||
|
case FavoriteFilterPerformer, FavoriteFilterStudio, FavoriteFilterAll:
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e FavoriteFilter) String() string {
|
||||||
|
return string(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *FavoriteFilter) UnmarshalGQL(v interface{}) error {
|
||||||
|
str, ok := v.(string)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf("enums must be strings")
|
||||||
|
}
|
||||||
|
|
||||||
|
*e = FavoriteFilter(str)
|
||||||
|
if !e.IsValid() {
|
||||||
|
return fmt.Errorf("%s is not a valid FavoriteFilter", str)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e FavoriteFilter) MarshalGQL(w io.Writer) {
|
||||||
|
fmt.Fprint(w, strconv.Quote(e.String()))
|
||||||
|
}
|
||||||
|
|
||||||
type FingerprintAlgorithm string
|
type FingerprintAlgorithm string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -1518,6 +1573,7 @@ const (
|
|||||||
GenderEnumTransgenderMale GenderEnum = "TRANSGENDER_MALE"
|
GenderEnumTransgenderMale GenderEnum = "TRANSGENDER_MALE"
|
||||||
GenderEnumTransgenderFemale GenderEnum = "TRANSGENDER_FEMALE"
|
GenderEnumTransgenderFemale GenderEnum = "TRANSGENDER_FEMALE"
|
||||||
GenderEnumIntersex GenderEnum = "INTERSEX"
|
GenderEnumIntersex GenderEnum = "INTERSEX"
|
||||||
|
GenderEnumNonBinary GenderEnum = "NON_BINARY"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AllGenderEnum = []GenderEnum{
|
var AllGenderEnum = []GenderEnum{
|
||||||
@@ -1526,11 +1582,12 @@ var AllGenderEnum = []GenderEnum{
|
|||||||
GenderEnumTransgenderMale,
|
GenderEnumTransgenderMale,
|
||||||
GenderEnumTransgenderFemale,
|
GenderEnumTransgenderFemale,
|
||||||
GenderEnumIntersex,
|
GenderEnumIntersex,
|
||||||
|
GenderEnumNonBinary,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e GenderEnum) IsValid() bool {
|
func (e GenderEnum) IsValid() bool {
|
||||||
switch e {
|
switch e {
|
||||||
case GenderEnumMale, GenderEnumFemale, GenderEnumTransgenderMale, GenderEnumTransgenderFemale, GenderEnumIntersex:
|
case GenderEnumMale, GenderEnumFemale, GenderEnumTransgenderMale, GenderEnumTransgenderFemale, GenderEnumIntersex, GenderEnumNonBinary:
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@@ -1566,6 +1623,7 @@ const (
|
|||||||
GenderFilterEnumTransgenderMale GenderFilterEnum = "TRANSGENDER_MALE"
|
GenderFilterEnumTransgenderMale GenderFilterEnum = "TRANSGENDER_MALE"
|
||||||
GenderFilterEnumTransgenderFemale GenderFilterEnum = "TRANSGENDER_FEMALE"
|
GenderFilterEnumTransgenderFemale GenderFilterEnum = "TRANSGENDER_FEMALE"
|
||||||
GenderFilterEnumIntersex GenderFilterEnum = "INTERSEX"
|
GenderFilterEnumIntersex GenderFilterEnum = "INTERSEX"
|
||||||
|
GenderFilterEnumNonBinary GenderFilterEnum = "NON_BINARY"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AllGenderFilterEnum = []GenderFilterEnum{
|
var AllGenderFilterEnum = []GenderFilterEnum{
|
||||||
@@ -1575,11 +1633,12 @@ var AllGenderFilterEnum = []GenderFilterEnum{
|
|||||||
GenderFilterEnumTransgenderMale,
|
GenderFilterEnumTransgenderMale,
|
||||||
GenderFilterEnumTransgenderFemale,
|
GenderFilterEnumTransgenderFemale,
|
||||||
GenderFilterEnumIntersex,
|
GenderFilterEnumIntersex,
|
||||||
|
GenderFilterEnumNonBinary,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e GenderFilterEnum) IsValid() bool {
|
func (e GenderFilterEnum) IsValid() bool {
|
||||||
switch e {
|
switch e {
|
||||||
case GenderFilterEnumUnknown, GenderFilterEnumMale, GenderFilterEnumFemale, GenderFilterEnumTransgenderMale, GenderFilterEnumTransgenderFemale, GenderFilterEnumIntersex:
|
case GenderFilterEnumUnknown, GenderFilterEnumMale, GenderFilterEnumFemale, GenderFilterEnumTransgenderMale, GenderFilterEnumTransgenderFemale, GenderFilterEnumIntersex, GenderFilterEnumNonBinary:
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -491,6 +491,8 @@ func translateGender(gender *graphql.GenderEnum) *string {
|
|||||||
res = models.GenderEnumTransgenderFemale
|
res = models.GenderEnumTransgenderFemale
|
||||||
case graphql.GenderEnumTransgenderMale:
|
case graphql.GenderEnumTransgenderMale:
|
||||||
res = models.GenderEnumTransgenderMale
|
res = models.GenderEnumTransgenderMale
|
||||||
|
case graphql.GenderEnumNonBinary:
|
||||||
|
res = models.GenderEnumNonBinary
|
||||||
}
|
}
|
||||||
|
|
||||||
if res != "" {
|
if res != "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user