models

package
v0.0.0-alpha Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2019 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func SQLGenKeys

func SQLGenKeys(i interface{}) string

https://github.com/jmoiron/sqlx/issues/410 sqlGenKeys is used for passing a struct and returning a string of keys for non empty key:values. These keys are formated keyname=:keyname with a comma seperating them

Types

type ComplexityRoot

type ComplexityRoot struct {
	ConfigGeneralResult struct {
		DatabasePath  func(childComplexity int) int
		GeneratedPath func(childComplexity int) int
		Stashes       func(childComplexity int) int
	}

	ConfigInterfaceResult struct {
		CSS        func(childComplexity int) int
		CSSEnabled func(childComplexity int) int
	}

	ConfigResult struct {
		General   func(childComplexity int) int
		Interface func(childComplexity int) int
	}

	FindGalleriesResultType struct {
		Count     func(childComplexity int) int
		Galleries func(childComplexity int) int
	}

	FindPerformersResultType struct {
		Count      func(childComplexity int) int
		Performers func(childComplexity int) int
	}

	FindSceneMarkersResultType struct {
		Count        func(childComplexity int) int
		SceneMarkers func(childComplexity int) int
	}

	FindScenesResultType struct {
		Count  func(childComplexity int) int
		Scenes func(childComplexity int) int
	}

	FindStudiosResultType struct {
		Count   func(childComplexity int) int
		Studios func(childComplexity int) int
	}

	Gallery struct {
		Checksum func(childComplexity int) int
		Files    func(childComplexity int) int
		ID       func(childComplexity int) int
		Path     func(childComplexity int) int
		Title    func(childComplexity int) int
	}

	GalleryFilesType struct {
		Index func(childComplexity int) int
		Name  func(childComplexity int) int
		Path  func(childComplexity int) int
	}

	MarkerStringsResultType struct {
		Count func(childComplexity int) int
		ID    func(childComplexity int) int
		Title func(childComplexity int) int
	}

	Mutation struct {
		ConfigureGeneral   func(childComplexity int, input ConfigGeneralInput) int
		ConfigureInterface func(childComplexity int, input ConfigInterfaceInput) int
		PerformerCreate    func(childComplexity int, input PerformerCreateInput) int
		PerformerDestroy   func(childComplexity int, input PerformerDestroyInput) int
		PerformerUpdate    func(childComplexity int, input PerformerUpdateInput) int
		SceneMarkerCreate  func(childComplexity int, input SceneMarkerCreateInput) int
		SceneMarkerDestroy func(childComplexity int, id string) int
		SceneMarkerUpdate  func(childComplexity int, input SceneMarkerUpdateInput) int
		SceneUpdate        func(childComplexity int, input SceneUpdateInput) int
		StudioCreate       func(childComplexity int, input StudioCreateInput) int
		StudioDestroy      func(childComplexity int, input StudioDestroyInput) int
		StudioUpdate       func(childComplexity int, input StudioUpdateInput) int
		TagCreate          func(childComplexity int, input TagCreateInput) int
		TagDestroy         func(childComplexity int, input TagDestroyInput) int
		TagUpdate          func(childComplexity int, input TagUpdateInput) int
	}

	Performer struct {
		Aliases      func(childComplexity int) int
		Birthdate    func(childComplexity int) int
		CareerLength func(childComplexity int) int
		Checksum     func(childComplexity int) int
		Country      func(childComplexity int) int
		Ethnicity    func(childComplexity int) int
		EyeColor     func(childComplexity int) int
		FakeTits     func(childComplexity int) int
		Favorite     func(childComplexity int) int
		Height       func(childComplexity int) int
		ID           func(childComplexity int) int
		ImagePath    func(childComplexity int) int
		Instagram    func(childComplexity int) int
		Measurements func(childComplexity int) int
		Name         func(childComplexity int) int
		Piercings    func(childComplexity int) int
		SceneCount   func(childComplexity int) int
		Scenes       func(childComplexity int) int
		Tattoos      func(childComplexity int) int
		Twitter      func(childComplexity int) int
		URL          func(childComplexity int) int
	}

	Query struct {
		AllPerformers               func(childComplexity int) int
		AllStudios                  func(childComplexity int) int
		AllTags                     func(childComplexity int) int
		Configuration               func(childComplexity int) int
		Directories                 func(childComplexity int, path *string) int
		FindGalleries               func(childComplexity int, filter *FindFilterType) int
		FindGallery                 func(childComplexity int, id string) int
		FindPerformer               func(childComplexity int, id string) int
		FindPerformers              func(childComplexity int, performerFilter *PerformerFilterType, filter *FindFilterType) int
		FindScene                   func(childComplexity int, id *string, checksum *string) int
		FindSceneMarkers            func(childComplexity int, sceneMarkerFilter *SceneMarkerFilterType, filter *FindFilterType) int
		FindScenes                  func(childComplexity int, sceneFilter *SceneFilterType, sceneIds []int, filter *FindFilterType) int
		FindStudio                  func(childComplexity int, id string) int
		FindStudios                 func(childComplexity int, filter *FindFilterType) int
		FindTag                     func(childComplexity int, id string) int
		MarkerStrings               func(childComplexity int, q *string, sort *string) int
		MarkerWall                  func(childComplexity int, q *string) int
		MetadataClean               func(childComplexity int) int
		MetadataExport              func(childComplexity int) int
		MetadataGenerate            func(childComplexity int, input GenerateMetadataInput) int
		MetadataImport              func(childComplexity int) int
		MetadataScan                func(childComplexity int) int
		SceneMarkerTags             func(childComplexity int, sceneID string) int
		SceneWall                   func(childComplexity int, q *string) int
		ScrapeFreeones              func(childComplexity int, performerName string) int
		ScrapeFreeonesPerformerList func(childComplexity int, query string) int
		Stats                       func(childComplexity int) int
		ValidGalleriesForScene      func(childComplexity int, sceneID *string) int
	}

	Scene struct {
		Checksum     func(childComplexity int) int
		Date         func(childComplexity int) int
		Details      func(childComplexity int) int
		File         func(childComplexity int) int
		Gallery      func(childComplexity int) int
		ID           func(childComplexity int) int
		IsStreamable func(childComplexity int) int
		Path         func(childComplexity int) int
		Paths        func(childComplexity int) int
		Performers   func(childComplexity int) int
		Rating       func(childComplexity int) int
		SceneMarkers func(childComplexity int) int
		Studio       func(childComplexity int) int
		Tags         func(childComplexity int) int
		Title        func(childComplexity int) int
		URL          func(childComplexity int) int
	}

	SceneFileType struct {
		AudioCodec func(childComplexity int) int
		Bitrate    func(childComplexity int) int
		Duration   func(childComplexity int) int
		Framerate  func(childComplexity int) int
		Height     func(childComplexity int) int
		Size       func(childComplexity int) int
		VideoCodec func(childComplexity int) int
		Width      func(childComplexity int) int
	}

	SceneMarker struct {
		ID         func(childComplexity int) int
		Preview    func(childComplexity int) int
		PrimaryTag func(childComplexity int) int
		Scene      func(childComplexity int) int
		Seconds    func(childComplexity int) int
		Stream     func(childComplexity int) int
		Tags       func(childComplexity int) int
		Title      func(childComplexity int) int
	}

	SceneMarkerTag struct {
		SceneMarkers func(childComplexity int) int
		Tag          func(childComplexity int) int
	}

	ScenePathsType struct {
		ChaptersVtt func(childComplexity int) int
		Preview     func(childComplexity int) int
		Screenshot  func(childComplexity int) int
		Stream      func(childComplexity int) int
		Vtt         func(childComplexity int) int
		Webp        func(childComplexity int) int
	}

	ScrapedPerformer struct {
		Aliases      func(childComplexity int) int
		Birthdate    func(childComplexity int) int
		CareerLength func(childComplexity int) int
		Country      func(childComplexity int) int
		Ethnicity    func(childComplexity int) int
		EyeColor     func(childComplexity int) int
		FakeTits     func(childComplexity int) int
		Height       func(childComplexity int) int
		Instagram    func(childComplexity int) int
		Measurements func(childComplexity int) int
		Name         func(childComplexity int) int
		Piercings    func(childComplexity int) int
		Tattoos      func(childComplexity int) int
		Twitter      func(childComplexity int) int
		URL          func(childComplexity int) int
	}

	StatsResultType struct {
		GalleryCount   func(childComplexity int) int
		PerformerCount func(childComplexity int) int
		SceneCount     func(childComplexity int) int
		StudioCount    func(childComplexity int) int
		TagCount       func(childComplexity int) int
	}

	Studio struct {
		Checksum   func(childComplexity int) int
		ID         func(childComplexity int) int
		ImagePath  func(childComplexity int) int
		Name       func(childComplexity int) int
		SceneCount func(childComplexity int) int
		URL        func(childComplexity int) int
	}

	Subscription struct {
		MetadataUpdate func(childComplexity int) int
	}

	Tag struct {
		ID               func(childComplexity int) int
		Name             func(childComplexity int) int
		SceneCount       func(childComplexity int) int
		SceneMarkerCount func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type ConfigGeneralInput

type ConfigGeneralInput struct {
	// Array of file paths to content
	Stashes []string `json:"stashes"`
	// Path to the SQLite database
	DatabasePath *string `json:"databasePath"`
	// Path to generated files
	GeneratedPath *string `json:"generatedPath"`
}

type ConfigGeneralResult

type ConfigGeneralResult struct {
	// Array of file paths to content
	Stashes []string `json:"stashes"`
	// Path to the SQLite database
	DatabasePath string `json:"databasePath"`
	// Path to generated files
	GeneratedPath string `json:"generatedPath"`
}

type ConfigInterfaceInput

type ConfigInterfaceInput struct {
	// Custom CSS
	CSS        *string `json:"css"`
	CSSEnabled *bool   `json:"cssEnabled"`
}

type ConfigInterfaceResult

type ConfigInterfaceResult struct {
	// Custom CSS
	CSS        *string `json:"css"`
	CSSEnabled *bool   `json:"cssEnabled"`
}

type ConfigResult

type ConfigResult struct {
	General   *ConfigGeneralResult   `json:"general"`
	Interface *ConfigInterfaceResult `json:"interface"`
}

All configuration settings

type CriterionModifier added in v0.17.0

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"
	CriterionModifierIncludes CriterionModifier = "INCLUDES"
	CriterionModifierExcludes CriterionModifier = "EXCLUDES"
)

func (CriterionModifier) IsValid added in v0.17.0

func (e CriterionModifier) IsValid() bool

func (CriterionModifier) MarshalGQL added in v0.17.0

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

func (CriterionModifier) String added in v0.17.0

func (e CriterionModifier) String() string

func (*CriterionModifier) UnmarshalGQL added in v0.17.0

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

type DirectiveRoot

type DirectiveRoot struct {
}

type FindFilterType added in v0.17.0

type FindFilterType struct {
	Q         *string            `json:"q"`
	Page      *int               `json:"page"`
	PerPage   *int               `json:"per_page"`
	Sort      *string            `json:"sort"`
	Direction *SortDirectionEnum `json:"direction"`
}

func (FindFilterType) GetDirection added in v0.17.0

func (ff FindFilterType) GetDirection() string

func (FindFilterType) GetSort added in v0.17.0

func (ff FindFilterType) GetSort(defaultSort string) string

type FindGalleriesResultType

type FindGalleriesResultType struct {
	Count     int        `json:"count"`
	Galleries []*Gallery `json:"galleries"`
}

type FindPerformersResultType

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

type FindSceneMarkersResultType

type FindSceneMarkersResultType struct {
	Count        int            `json:"count"`
	SceneMarkers []*SceneMarker `json:"scene_markers"`
}

type FindScenesResultType

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

type FindStudiosResultType

type FindStudiosResultType struct {
	Count   int       `json:"count"`
	Studios []*Studio `json:"studios"`
}
type Gallery struct {
	ID        int             `db:"id" json:"id"`
	Path      string          `db:"path" json:"path"`
	Checksum  string          `db:"checksum" json:"checksum"`
	SceneID   sql.NullInt64   `db:"scene_id,omitempty" json:"scene_id"`
	CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

func (*Gallery) GetFiles

func (g *Gallery) GetFiles(baseURL string) []*GalleryFilesType

func (*Gallery) GetImage

func (g *Gallery) GetImage(index int) []byte

func (*Gallery) GetThumbnail

func (g *Gallery) GetThumbnail(index int) []byte

type GalleryFilesType

type GalleryFilesType struct {
	Index int     `json:"index"`
	Name  *string `json:"name"`
	Path  *string `json:"path"`
}

type GalleryQueryBuilder

type GalleryQueryBuilder struct{}

func NewGalleryQueryBuilder

func NewGalleryQueryBuilder() GalleryQueryBuilder

func (*GalleryQueryBuilder) All

func (qb *GalleryQueryBuilder) All() ([]*Gallery, error)

func (*GalleryQueryBuilder) Count

func (qb *GalleryQueryBuilder) Count() (int, error)

func (*GalleryQueryBuilder) Create

func (qb *GalleryQueryBuilder) Create(newGallery Gallery, tx *sqlx.Tx) (*Gallery, error)

func (*GalleryQueryBuilder) Find

func (qb *GalleryQueryBuilder) Find(id int) (*Gallery, error)

func (*GalleryQueryBuilder) FindByChecksum

func (qb *GalleryQueryBuilder) FindByChecksum(checksum string, tx *sqlx.Tx) (*Gallery, error)

func (*GalleryQueryBuilder) FindByPath

func (qb *GalleryQueryBuilder) FindByPath(path string) (*Gallery, error)

func (*GalleryQueryBuilder) FindBySceneID

func (qb *GalleryQueryBuilder) FindBySceneID(sceneID int, tx *sqlx.Tx) (*Gallery, error)

func (*GalleryQueryBuilder) Query

func (qb *GalleryQueryBuilder) Query(findFilter *FindFilterType) ([]*Gallery, int)

func (*GalleryQueryBuilder) Update

func (qb *GalleryQueryBuilder) Update(updatedGallery Gallery, tx *sqlx.Tx) (*Gallery, error)

func (*GalleryQueryBuilder) ValidGalleriesForScenePath

func (qb *GalleryQueryBuilder) ValidGalleriesForScenePath(scenePath string) ([]*Gallery, error)

type GalleryResolver

type GalleryResolver interface {
	Title(ctx context.Context, obj *Gallery) (*string, error)
	Files(ctx context.Context, obj *Gallery) ([]*GalleryFilesType, error)
}

type GenerateMetadataInput

type GenerateMetadataInput struct {
	Sprites    bool `json:"sprites"`
	Previews   bool `json:"previews"`
	Markers    bool `json:"markers"`
	Transcodes bool `json:"transcodes"`
}

type IntCriterionInput added in v0.17.0

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

type JSONTime

type JSONTime struct {
	time.Time
}

func (*JSONTime) MarshalJSON

func (jt *JSONTime) MarshalJSON() ([]byte, error)

func (*JSONTime) UnmarshalJSON

func (jt *JSONTime) UnmarshalJSON(b []byte) (err error)

type JoinsQueryBuilder

type JoinsQueryBuilder struct{}

func NewJoinsQueryBuilder

func NewJoinsQueryBuilder() JoinsQueryBuilder

func (*JoinsQueryBuilder) CreatePerformersScenes

func (qb *JoinsQueryBuilder) CreatePerformersScenes(newJoins []PerformersScenes, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) CreateSceneMarkersTags

func (qb *JoinsQueryBuilder) CreateSceneMarkersTags(newJoins []SceneMarkersTags, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) CreateScenesTags

func (qb *JoinsQueryBuilder) CreateScenesTags(newJoins []ScenesTags, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) UpdatePerformersScenes

func (qb *JoinsQueryBuilder) UpdatePerformersScenes(sceneID int, updatedJoins []PerformersScenes, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) UpdateSceneMarkersTags

func (qb *JoinsQueryBuilder) UpdateSceneMarkersTags(sceneMarkerID int, updatedJoins []SceneMarkersTags, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) UpdateScenesTags

func (qb *JoinsQueryBuilder) UpdateScenesTags(sceneID int, updatedJoins []ScenesTags, tx *sqlx.Tx) error

type MarkerStringsResultType added in v0.17.0

type MarkerStringsResultType struct {
	Count int    `json:"count"`
	ID    string `json:"id"`
	Title string `json:"title"`
}

type MutationResolver

type MutationResolver interface {
	SceneUpdate(ctx context.Context, input SceneUpdateInput) (*Scene, error)
	SceneMarkerCreate(ctx context.Context, input SceneMarkerCreateInput) (*SceneMarker, error)
	SceneMarkerUpdate(ctx context.Context, input SceneMarkerUpdateInput) (*SceneMarker, error)
	SceneMarkerDestroy(ctx context.Context, id string) (bool, error)
	PerformerCreate(ctx context.Context, input PerformerCreateInput) (*Performer, error)
	PerformerUpdate(ctx context.Context, input PerformerUpdateInput) (*Performer, error)
	PerformerDestroy(ctx context.Context, input PerformerDestroyInput) (bool, error)
	StudioCreate(ctx context.Context, input StudioCreateInput) (*Studio, error)
	StudioUpdate(ctx context.Context, input StudioUpdateInput) (*Studio, error)
	StudioDestroy(ctx context.Context, input StudioDestroyInput) (bool, error)
	TagCreate(ctx context.Context, input TagCreateInput) (*Tag, error)
	TagUpdate(ctx context.Context, input TagUpdateInput) (*Tag, error)
	TagDestroy(ctx context.Context, input TagDestroyInput) (bool, error)
	ConfigureGeneral(ctx context.Context, input ConfigGeneralInput) (*ConfigGeneralResult, error)
	ConfigureInterface(ctx context.Context, input ConfigInterfaceInput) (*ConfigInterfaceResult, error)
}

type Performer

type Performer struct {
	ID           int             `db:"id" json:"id"`
	Image        []byte          `db:"image" json:"image"`
	Checksum     string          `db:"checksum" json:"checksum"`
	Name         sql.NullString  `db:"name" json:"name"`
	URL          sql.NullString  `db:"url" json:"url"`
	Twitter      sql.NullString  `db:"twitter" json:"twitter"`
	Instagram    sql.NullString  `db:"instagram" json:"instagram"`
	Birthdate    SQLiteDate      `db:"birthdate" json:"birthdate"`
	Ethnicity    sql.NullString  `db:"ethnicity" json:"ethnicity"`
	Country      sql.NullString  `db:"country" json:"country"`
	EyeColor     sql.NullString  `db:"eye_color" json:"eye_color"`
	Height       sql.NullString  `db:"height" json:"height"`
	Measurements sql.NullString  `db:"measurements" json:"measurements"`
	FakeTits     sql.NullString  `db:"fake_tits" json:"fake_tits"`
	CareerLength sql.NullString  `db:"career_length" json:"career_length"`
	Tattoos      sql.NullString  `db:"tattoos" json:"tattoos"`
	Piercings    sql.NullString  `db:"piercings" json:"piercings"`
	Aliases      sql.NullString  `db:"aliases" json:"aliases"`
	Favorite     sql.NullBool    `db:"favorite" json:"favorite"`
	CreatedAt    SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt    SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type PerformerCreateInput added in v0.23.0

type PerformerCreateInput struct {
	Name         *string `json:"name"`
	URL          *string `json:"url"`
	Birthdate    *string `json:"birthdate"`
	Ethnicity    *string `json:"ethnicity"`
	Country      *string `json:"country"`
	EyeColor     *string `json:"eye_color"`
	Height       *string `json:"height"`
	Measurements *string `json:"measurements"`
	FakeTits     *string `json:"fake_tits"`
	CareerLength *string `json:"career_length"`
	Tattoos      *string `json:"tattoos"`
	Piercings    *string `json:"piercings"`
	Aliases      *string `json:"aliases"`
	Twitter      *string `json:"twitter"`
	Instagram    *string `json:"instagram"`
	Favorite     *bool   `json:"favorite"`
	// This should be base64 encoded
	Image string `json:"image"`
}

type PerformerDestroyInput

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

type PerformerFilterType added in v0.17.0

type PerformerFilterType struct {
	// Filter by favorite
	FilterFavorites *bool `json:"filter_favorites"`
}

type PerformerQueryBuilder

type PerformerQueryBuilder struct{}

func NewPerformerQueryBuilder

func NewPerformerQueryBuilder() PerformerQueryBuilder

func (*PerformerQueryBuilder) All

func (qb *PerformerQueryBuilder) All() ([]*Performer, error)

func (*PerformerQueryBuilder) Count

func (qb *PerformerQueryBuilder) Count() (int, error)

func (*PerformerQueryBuilder) Create

func (qb *PerformerQueryBuilder) Create(newPerformer Performer, tx *sqlx.Tx) (*Performer, error)

func (*PerformerQueryBuilder) Destroy

func (qb *PerformerQueryBuilder) Destroy(id string, tx *sqlx.Tx) error

func (*PerformerQueryBuilder) Find

func (qb *PerformerQueryBuilder) Find(id int) (*Performer, error)

func (*PerformerQueryBuilder) FindByNames

func (qb *PerformerQueryBuilder) FindByNames(names []string, tx *sqlx.Tx) ([]*Performer, error)

func (*PerformerQueryBuilder) FindBySceneID

func (qb *PerformerQueryBuilder) FindBySceneID(sceneID int, tx *sqlx.Tx) ([]*Performer, error)

func (*PerformerQueryBuilder) Query

func (qb *PerformerQueryBuilder) Query(performerFilter *PerformerFilterType, findFilter *FindFilterType) ([]*Performer, int)

func (*PerformerQueryBuilder) Update

func (qb *PerformerQueryBuilder) Update(updatedPerformer Performer, tx *sqlx.Tx) (*Performer, error)

type PerformerResolver

type PerformerResolver interface {
	Name(ctx context.Context, obj *Performer) (*string, error)
	URL(ctx context.Context, obj *Performer) (*string, error)
	Twitter(ctx context.Context, obj *Performer) (*string, error)
	Instagram(ctx context.Context, obj *Performer) (*string, error)
	Birthdate(ctx context.Context, obj *Performer) (*string, error)
	Ethnicity(ctx context.Context, obj *Performer) (*string, error)
	Country(ctx context.Context, obj *Performer) (*string, error)
	EyeColor(ctx context.Context, obj *Performer) (*string, error)
	Height(ctx context.Context, obj *Performer) (*string, error)
	Measurements(ctx context.Context, obj *Performer) (*string, error)
	FakeTits(ctx context.Context, obj *Performer) (*string, error)
	CareerLength(ctx context.Context, obj *Performer) (*string, error)
	Tattoos(ctx context.Context, obj *Performer) (*string, error)
	Piercings(ctx context.Context, obj *Performer) (*string, error)
	Aliases(ctx context.Context, obj *Performer) (*string, error)
	Favorite(ctx context.Context, obj *Performer) (bool, error)
	ImagePath(ctx context.Context, obj *Performer) (*string, error)
	SceneCount(ctx context.Context, obj *Performer) (*int, error)
	Scenes(ctx context.Context, obj *Performer) ([]*Scene, error)
}

type PerformerUpdateInput added in v0.23.0

type PerformerUpdateInput struct {
	ID           string  `json:"id"`
	Name         *string `json:"name"`
	URL          *string `json:"url"`
	Birthdate    *string `json:"birthdate"`
	Ethnicity    *string `json:"ethnicity"`
	Country      *string `json:"country"`
	EyeColor     *string `json:"eye_color"`
	Height       *string `json:"height"`
	Measurements *string `json:"measurements"`
	FakeTits     *string `json:"fake_tits"`
	CareerLength *string `json:"career_length"`
	Tattoos      *string `json:"tattoos"`
	Piercings    *string `json:"piercings"`
	Aliases      *string `json:"aliases"`
	Twitter      *string `json:"twitter"`
	Instagram    *string `json:"instagram"`
	Favorite     *bool   `json:"favorite"`
	// This should be base64 encoded
	Image *string `json:"image"`
}

type PerformersScenes

type PerformersScenes struct {
	PerformerID int `db:"performer_id" json:"performer_id"`
	SceneID     int `db:"scene_id" json:"scene_id"`
}

type QueryResolver

type QueryResolver interface {
	FindScene(ctx context.Context, id *string, checksum *string) (*Scene, error)
	FindScenes(ctx context.Context, sceneFilter *SceneFilterType, sceneIds []int, filter *FindFilterType) (*FindScenesResultType, error)
	FindSceneMarkers(ctx context.Context, sceneMarkerFilter *SceneMarkerFilterType, filter *FindFilterType) (*FindSceneMarkersResultType, error)
	FindPerformer(ctx context.Context, id string) (*Performer, error)
	FindPerformers(ctx context.Context, performerFilter *PerformerFilterType, filter *FindFilterType) (*FindPerformersResultType, error)
	FindStudio(ctx context.Context, id string) (*Studio, error)
	FindStudios(ctx context.Context, filter *FindFilterType) (*FindStudiosResultType, error)
	FindGallery(ctx context.Context, id string) (*Gallery, error)
	FindGalleries(ctx context.Context, filter *FindFilterType) (*FindGalleriesResultType, error)
	FindTag(ctx context.Context, id string) (*Tag, error)
	MarkerWall(ctx context.Context, q *string) ([]*SceneMarker, error)
	SceneWall(ctx context.Context, q *string) ([]*Scene, error)
	MarkerStrings(ctx context.Context, q *string, sort *string) ([]*MarkerStringsResultType, error)
	ValidGalleriesForScene(ctx context.Context, sceneID *string) ([]*Gallery, error)
	Stats(ctx context.Context) (*StatsResultType, error)
	SceneMarkerTags(ctx context.Context, sceneID string) ([]*SceneMarkerTag, error)
	ScrapeFreeones(ctx context.Context, performerName string) (*ScrapedPerformer, error)
	ScrapeFreeonesPerformerList(ctx context.Context, query string) ([]string, error)
	Configuration(ctx context.Context) (*ConfigResult, error)
	Directories(ctx context.Context, path *string) ([]string, error)
	MetadataImport(ctx context.Context) (string, error)
	MetadataExport(ctx context.Context) (string, error)
	MetadataScan(ctx context.Context) (string, error)
	MetadataGenerate(ctx context.Context, input GenerateMetadataInput) (string, error)
	MetadataClean(ctx context.Context) (string, error)
	AllPerformers(ctx context.Context) ([]*Performer, error)
	AllStudios(ctx context.Context) ([]*Studio, error)
	AllTags(ctx context.Context) ([]*Tag, error)
}

type ResolutionEnum added in v0.17.0

type ResolutionEnum string
const (
	// 240p
	ResolutionEnumLow ResolutionEnum = "LOW"
	// 480p
	ResolutionEnumStandard ResolutionEnum = "STANDARD"
	// 720p
	ResolutionEnumStandardHd ResolutionEnum = "STANDARD_HD"
	// 1080p
	ResolutionEnumFullHd ResolutionEnum = "FULL_HD"
	// 4k
	ResolutionEnumFourK ResolutionEnum = "FOUR_K"
)

func (ResolutionEnum) IsValid added in v0.17.0

func (e ResolutionEnum) IsValid() bool

func (ResolutionEnum) MarshalGQL added in v0.17.0

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

func (ResolutionEnum) String added in v0.17.0

func (e ResolutionEnum) String() string

func (*ResolutionEnum) UnmarshalGQL added in v0.17.0

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

type ResolverRoot

type ResolverRoot interface {
	Gallery() GalleryResolver
	Mutation() MutationResolver
	Performer() PerformerResolver
	Query() QueryResolver
	Scene() SceneResolver
	SceneMarker() SceneMarkerResolver
	Studio() StudioResolver
	Subscription() SubscriptionResolver
	Tag() TagResolver
}

type SQLiteDate

type SQLiteDate struct {
	String string
	Valid  bool
}

func (*SQLiteDate) Scan

func (t *SQLiteDate) Scan(value interface{}) error

Scan implements the Scanner interface.

func (SQLiteDate) Value

func (t SQLiteDate) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type SQLiteTimestamp

type SQLiteTimestamp struct {
	Timestamp time.Time
}

func (*SQLiteTimestamp) Scan

func (t *SQLiteTimestamp) Scan(value interface{}) error

Scan implements the Scanner interface.

func (SQLiteTimestamp) Value

func (t SQLiteTimestamp) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Scene

type Scene struct {
	ID         int             `db:"id" json:"id"`
	Checksum   string          `db:"checksum" json:"checksum"`
	Path       string          `db:"path" json:"path"`
	Title      sql.NullString  `db:"title" json:"title"`
	Details    sql.NullString  `db:"details" json:"details"`
	URL        sql.NullString  `db:"url" json:"url"`
	Date       SQLiteDate      `db:"date" json:"date"`
	Rating     sql.NullInt64   `db:"rating" json:"rating"`
	Size       sql.NullString  `db:"size" json:"size"`
	Duration   sql.NullFloat64 `db:"duration" json:"duration"`
	VideoCodec sql.NullString  `db:"video_codec" json:"video_codec"`
	AudioCodec sql.NullString  `db:"audio_codec" json:"audio_codec"`
	Width      sql.NullInt64   `db:"width" json:"width"`
	Height     sql.NullInt64   `db:"height" json:"height"`
	Framerate  sql.NullFloat64 `db:"framerate" json:"framerate"`
	Bitrate    sql.NullInt64   `db:"bitrate" json:"bitrate"`
	StudioID   sql.NullInt64   `db:"studio_id,omitempty" json:"studio_id"`
	CreatedAt  SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt  SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type SceneFileType

type SceneFileType struct {
	Size       *string  `json:"size"`
	Duration   *float64 `json:"duration"`
	VideoCodec *string  `json:"video_codec"`
	AudioCodec *string  `json:"audio_codec"`
	Width      *int     `json:"width"`
	Height     *int     `json:"height"`
	Framerate  *float64 `json:"framerate"`
	Bitrate    *int     `json:"bitrate"`
}

type SceneFilterType added in v0.17.0

type SceneFilterType struct {
	// Filter by rating
	Rating *IntCriterionInput `json:"rating"`
	// Filter by resolution
	Resolution *ResolutionEnum `json:"resolution"`
	// Filter to only include scenes which have markers. `true` or `false`
	HasMarkers *string `json:"has_markers"`
	// Filter to only include scenes missing this property
	IsMissing *string `json:"is_missing"`
	// Filter to only include scenes with this studio
	StudioID *string `json:"studio_id"`
	// Filter to only include scenes with these tags
	Tags []string `json:"tags"`
	// Filter to only include scenes with this performer
	PerformerID *string `json:"performer_id"`
}

type SceneMarker

type SceneMarker struct {
	ID           int             `db:"id" json:"id"`
	Title        string          `db:"title" json:"title"`
	Seconds      float64         `db:"seconds" json:"seconds"`
	PrimaryTagID int             `db:"primary_tag_id" json:"primary_tag_id"`
	SceneID      sql.NullInt64   `db:"scene_id,omitempty" json:"scene_id"`
	CreatedAt    SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt    SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type SceneMarkerCreateInput

type SceneMarkerCreateInput struct {
	Title        string   `json:"title"`
	Seconds      float64  `json:"seconds"`
	SceneID      string   `json:"scene_id"`
	PrimaryTagID string   `json:"primary_tag_id"`
	TagIds       []string `json:"tag_ids"`
}

type SceneMarkerFilterType added in v0.17.0

type SceneMarkerFilterType struct {
	// Filter to only include scene markers with this tag
	TagID *string `json:"tag_id"`
	// Filter to only include scene markers with these tags
	Tags []string `json:"tags"`
	// Filter to only include scene markers attached to a scene with these tags
	SceneTags []string `json:"scene_tags"`
	// Filter to only include scene markers with these performers
	Performers []string `json:"performers"`
}

type SceneMarkerQueryBuilder

type SceneMarkerQueryBuilder struct{}

func NewSceneMarkerQueryBuilder

func NewSceneMarkerQueryBuilder() SceneMarkerQueryBuilder

func (*SceneMarkerQueryBuilder) CountByTagID

func (qb *SceneMarkerQueryBuilder) CountByTagID(tagID int) (int, error)

func (*SceneMarkerQueryBuilder) Create

func (qb *SceneMarkerQueryBuilder) Create(newSceneMarker SceneMarker, tx *sqlx.Tx) (*SceneMarker, error)

func (*SceneMarkerQueryBuilder) Destroy

func (qb *SceneMarkerQueryBuilder) Destroy(id string, tx *sqlx.Tx) error

func (*SceneMarkerQueryBuilder) Find

func (qb *SceneMarkerQueryBuilder) Find(id int) (*SceneMarker, error)

func (*SceneMarkerQueryBuilder) FindBySceneID

func (qb *SceneMarkerQueryBuilder) FindBySceneID(sceneID int, tx *sqlx.Tx) ([]*SceneMarker, error)

func (*SceneMarkerQueryBuilder) GetMarkerStrings

func (qb *SceneMarkerQueryBuilder) GetMarkerStrings(q *string, sort *string) ([]*MarkerStringsResultType, error)

func (*SceneMarkerQueryBuilder) Query

func (qb *SceneMarkerQueryBuilder) Query(sceneMarkerFilter *SceneMarkerFilterType, findFilter *FindFilterType) ([]*SceneMarker, int)

func (*SceneMarkerQueryBuilder) Update

func (qb *SceneMarkerQueryBuilder) Update(updatedSceneMarker SceneMarker, tx *sqlx.Tx) (*SceneMarker, error)

func (*SceneMarkerQueryBuilder) Wall

func (qb *SceneMarkerQueryBuilder) Wall(q *string) ([]*SceneMarker, error)

type SceneMarkerResolver

type SceneMarkerResolver interface {
	Scene(ctx context.Context, obj *SceneMarker) (*Scene, error)

	PrimaryTag(ctx context.Context, obj *SceneMarker) (*Tag, error)
	Tags(ctx context.Context, obj *SceneMarker) ([]*Tag, error)
	Stream(ctx context.Context, obj *SceneMarker) (string, error)
	Preview(ctx context.Context, obj *SceneMarker) (string, error)
}

type SceneMarkerTag

type SceneMarkerTag struct {
	Tag          *Tag           `json:"tag"`
	SceneMarkers []*SceneMarker `json:"scene_markers"`
}

type SceneMarkerUpdateInput

type SceneMarkerUpdateInput struct {
	ID           string   `json:"id"`
	Title        string   `json:"title"`
	Seconds      float64  `json:"seconds"`
	SceneID      string   `json:"scene_id"`
	PrimaryTagID string   `json:"primary_tag_id"`
	TagIds       []string `json:"tag_ids"`
}

type SceneMarkersTags

type SceneMarkersTags struct {
	SceneMarkerID int `db:"scene_marker_id" json:"scene_marker_id"`
	TagID         int `db:"tag_id" json:"tag_id"`
}

type ScenePathsType

type ScenePathsType struct {
	Screenshot  *string `json:"screenshot"`
	Preview     *string `json:"preview"`
	Stream      *string `json:"stream"`
	Webp        *string `json:"webp"`
	Vtt         *string `json:"vtt"`
	ChaptersVtt *string `json:"chapters_vtt"`
}

type SceneQueryBuilder

type SceneQueryBuilder struct{}

func NewSceneQueryBuilder

func NewSceneQueryBuilder() SceneQueryBuilder

func (*SceneQueryBuilder) All

func (qb *SceneQueryBuilder) All() ([]*Scene, error)

func (*SceneQueryBuilder) Count

func (qb *SceneQueryBuilder) Count() (int, error)

func (*SceneQueryBuilder) CountByPerformerID

func (qb *SceneQueryBuilder) CountByPerformerID(performerID int) (int, error)

func (*SceneQueryBuilder) CountByStudioID

func (qb *SceneQueryBuilder) CountByStudioID(studioID int) (int, error)

func (*SceneQueryBuilder) CountByTagID

func (qb *SceneQueryBuilder) CountByTagID(tagID int) (int, error)

func (*SceneQueryBuilder) Create

func (qb *SceneQueryBuilder) Create(newScene Scene, tx *sqlx.Tx) (*Scene, error)

func (*SceneQueryBuilder) Find

func (qb *SceneQueryBuilder) Find(id int) (*Scene, error)

func (*SceneQueryBuilder) FindByChecksum

func (qb *SceneQueryBuilder) FindByChecksum(checksum string) (*Scene, error)

func (*SceneQueryBuilder) FindByPath

func (qb *SceneQueryBuilder) FindByPath(path string) (*Scene, error)

func (*SceneQueryBuilder) FindByPerformerID

func (qb *SceneQueryBuilder) FindByPerformerID(performerID int) ([]*Scene, error)

func (*SceneQueryBuilder) FindByStudioID

func (qb *SceneQueryBuilder) FindByStudioID(studioID int) ([]*Scene, error)

func (*SceneQueryBuilder) Query

func (qb *SceneQueryBuilder) Query(sceneFilter *SceneFilterType, findFilter *FindFilterType) ([]*Scene, int)

func (*SceneQueryBuilder) Update

func (qb *SceneQueryBuilder) Update(updatedScene Scene, tx *sqlx.Tx) (*Scene, error)

func (*SceneQueryBuilder) Wall

func (qb *SceneQueryBuilder) Wall(q *string) ([]*Scene, error)

type SceneResolver

type SceneResolver interface {
	Title(ctx context.Context, obj *Scene) (*string, error)
	Details(ctx context.Context, obj *Scene) (*string, error)
	URL(ctx context.Context, obj *Scene) (*string, error)
	Date(ctx context.Context, obj *Scene) (*string, error)
	Rating(ctx context.Context, obj *Scene) (*int, error)

	File(ctx context.Context, obj *Scene) (*SceneFileType, error)
	Paths(ctx context.Context, obj *Scene) (*ScenePathsType, error)
	IsStreamable(ctx context.Context, obj *Scene) (bool, error)
	SceneMarkers(ctx context.Context, obj *Scene) ([]*SceneMarker, error)
	Gallery(ctx context.Context, obj *Scene) (*Gallery, error)
	Studio(ctx context.Context, obj *Scene) (*Studio, error)
	Tags(ctx context.Context, obj *Scene) ([]*Tag, error)
	Performers(ctx context.Context, obj *Scene) ([]*Performer, error)
}

type SceneUpdateInput added in v0.17.0

type SceneUpdateInput struct {
	ClientMutationID *string  `json:"clientMutationId"`
	ID               string   `json:"id"`
	Title            *string  `json:"title"`
	Details          *string  `json:"details"`
	URL              *string  `json:"url"`
	Date             *string  `json:"date"`
	Rating           *int     `json:"rating"`
	StudioID         *string  `json:"studio_id"`
	GalleryID        *string  `json:"gallery_id"`
	PerformerIds     []string `json:"performer_ids"`
	TagIds           []string `json:"tag_ids"`
}

type ScenesTags

type ScenesTags struct {
	SceneID int `db:"scene_id" json:"scene_id"`
	TagID   int `db:"tag_id" json:"tag_id"`
}

type ScrapedItem

type ScrapedItem struct {
	ID              int             `db:"id" json:"id"`
	Title           sql.NullString  `db:"title" json:"title"`
	Description     sql.NullString  `db:"description" json:"description"`
	URL             sql.NullString  `db:"url" json:"url"`
	Date            SQLiteDate      `db:"date" json:"date"`
	Rating          sql.NullString  `db:"rating" json:"rating"`
	Tags            sql.NullString  `db:"tags" json:"tags"`
	Models          sql.NullString  `db:"models" json:"models"`
	Episode         sql.NullInt64   `db:"episode" json:"episode"`
	GalleryFilename sql.NullString  `db:"gallery_filename" json:"gallery_filename"`
	GalleryURL      sql.NullString  `db:"gallery_url" json:"gallery_url"`
	VideoFilename   sql.NullString  `db:"video_filename" json:"video_filename"`
	VideoURL        sql.NullString  `db:"video_url" json:"video_url"`
	StudioID        sql.NullInt64   `db:"studio_id,omitempty" json:"studio_id"`
	CreatedAt       SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt       SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type ScrapedItemQueryBuilder

type ScrapedItemQueryBuilder struct{}

func NewScrapedItemQueryBuilder

func NewScrapedItemQueryBuilder() ScrapedItemQueryBuilder

func (*ScrapedItemQueryBuilder) All

func (qb *ScrapedItemQueryBuilder) All() ([]*ScrapedItem, error)

func (*ScrapedItemQueryBuilder) Create

func (qb *ScrapedItemQueryBuilder) Create(newScrapedItem ScrapedItem, tx *sqlx.Tx) (*ScrapedItem, error)

func (*ScrapedItemQueryBuilder) Find

func (qb *ScrapedItemQueryBuilder) Find(id int) (*ScrapedItem, error)

func (*ScrapedItemQueryBuilder) Update

func (qb *ScrapedItemQueryBuilder) Update(updatedScrapedItem ScrapedItem, tx *sqlx.Tx) (*ScrapedItem, error)

type ScrapedPerformer

type ScrapedPerformer struct {
	Name         *string `json:"name"`
	URL          *string `json:"url"`
	Twitter      *string `json:"twitter"`
	Instagram    *string `json:"instagram"`
	Birthdate    *string `json:"birthdate"`
	Ethnicity    *string `json:"ethnicity"`
	Country      *string `json:"country"`
	EyeColor     *string `json:"eye_color"`
	Height       *string `json:"height"`
	Measurements *string `json:"measurements"`
	FakeTits     *string `json:"fake_tits"`
	CareerLength *string `json:"career_length"`
	Tattoos      *string `json:"tattoos"`
	Piercings    *string `json:"piercings"`
	Aliases      *string `json:"aliases"`
}

A performer from a scraping operation...

type SortDirectionEnum added in v0.17.0

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

func (SortDirectionEnum) IsValid added in v0.17.0

func (e SortDirectionEnum) IsValid() bool

func (SortDirectionEnum) MarshalGQL added in v0.17.0

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

func (SortDirectionEnum) String added in v0.17.0

func (e SortDirectionEnum) String() string

func (*SortDirectionEnum) UnmarshalGQL added in v0.17.0

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

type StatsResultType

type StatsResultType struct {
	SceneCount     int `json:"scene_count"`
	GalleryCount   int `json:"gallery_count"`
	PerformerCount int `json:"performer_count"`
	StudioCount    int `json:"studio_count"`
	TagCount       int `json:"tag_count"`
}

type Studio

type Studio struct {
	ID        int             `db:"id" json:"id"`
	Image     []byte          `db:"image" json:"image"`
	Checksum  string          `db:"checksum" json:"checksum"`
	Name      sql.NullString  `db:"name" json:"name"`
	URL       sql.NullString  `db:"url" json:"url"`
	CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type StudioCreateInput added in v0.23.0

type StudioCreateInput struct {
	Name string  `json:"name"`
	URL  *string `json:"url"`
	// This should be base64 encoded
	Image string `json:"image"`
}

type StudioDestroyInput

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

type StudioQueryBuilder

type StudioQueryBuilder struct{}

func NewStudioQueryBuilder

func NewStudioQueryBuilder() StudioQueryBuilder

func (*StudioQueryBuilder) All

func (qb *StudioQueryBuilder) All() ([]*Studio, error)

func (*StudioQueryBuilder) Count

func (qb *StudioQueryBuilder) Count() (int, error)

func (*StudioQueryBuilder) Create

func (qb *StudioQueryBuilder) Create(newStudio Studio, tx *sqlx.Tx) (*Studio, error)

func (*StudioQueryBuilder) Destroy

func (qb *StudioQueryBuilder) Destroy(id string, tx *sqlx.Tx) error

func (*StudioQueryBuilder) Find

func (qb *StudioQueryBuilder) Find(id int, tx *sqlx.Tx) (*Studio, error)

func (*StudioQueryBuilder) FindByName

func (qb *StudioQueryBuilder) FindByName(name string, tx *sqlx.Tx) (*Studio, error)

func (*StudioQueryBuilder) FindBySceneID

func (qb *StudioQueryBuilder) FindBySceneID(sceneID int) (*Studio, error)

func (*StudioQueryBuilder) Query

func (qb *StudioQueryBuilder) Query(findFilter *FindFilterType) ([]*Studio, int)

func (*StudioQueryBuilder) Update

func (qb *StudioQueryBuilder) Update(updatedStudio Studio, tx *sqlx.Tx) (*Studio, error)

type StudioResolver

type StudioResolver interface {
	Name(ctx context.Context, obj *Studio) (string, error)
	URL(ctx context.Context, obj *Studio) (*string, error)
	ImagePath(ctx context.Context, obj *Studio) (*string, error)
	SceneCount(ctx context.Context, obj *Studio) (*int, error)
}

type StudioUpdateInput added in v0.23.0

type StudioUpdateInput struct {
	ID   string  `json:"id"`
	Name *string `json:"name"`
	URL  *string `json:"url"`
	// This should be base64 encoded
	Image *string `json:"image"`
}

type SubscriptionResolver

type SubscriptionResolver interface {
	MetadataUpdate(ctx context.Context) (<-chan string, error)
}

type Tag

type Tag struct {
	ID        int             `db:"id" json:"id"`
	Name      string          `db:"name" json:"name"` // TODO make schema not null
	CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type TagCreateInput

type TagCreateInput struct {
	Name string `json:"name"`
}

type TagDestroyInput

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

type TagQueryBuilder

type TagQueryBuilder struct{}

func NewTagQueryBuilder

func NewTagQueryBuilder() TagQueryBuilder

func (*TagQueryBuilder) All

func (qb *TagQueryBuilder) All() ([]*Tag, error)

func (*TagQueryBuilder) Count

func (qb *TagQueryBuilder) Count() (int, error)

func (*TagQueryBuilder) Create

func (qb *TagQueryBuilder) Create(newTag Tag, tx *sqlx.Tx) (*Tag, error)

func (*TagQueryBuilder) Destroy

func (qb *TagQueryBuilder) Destroy(id string, tx *sqlx.Tx) error

func (*TagQueryBuilder) Find

func (qb *TagQueryBuilder) Find(id int, tx *sqlx.Tx) (*Tag, error)

func (*TagQueryBuilder) FindByName

func (qb *TagQueryBuilder) FindByName(name string, tx *sqlx.Tx) (*Tag, error)

func (*TagQueryBuilder) FindByNames

func (qb *TagQueryBuilder) FindByNames(names []string, tx *sqlx.Tx) ([]*Tag, error)

func (*TagQueryBuilder) FindBySceneID

func (qb *TagQueryBuilder) FindBySceneID(sceneID int, tx *sqlx.Tx) ([]*Tag, error)

func (*TagQueryBuilder) FindBySceneMarkerID

func (qb *TagQueryBuilder) FindBySceneMarkerID(sceneMarkerID int, tx *sqlx.Tx) ([]*Tag, error)

func (*TagQueryBuilder) Update

func (qb *TagQueryBuilder) Update(updatedTag Tag, tx *sqlx.Tx) (*Tag, error)

type TagResolver

type TagResolver interface {
	SceneCount(ctx context.Context, obj *Tag) (*int, error)
	SceneMarkerCount(ctx context.Context, obj *Tag) (*int, error)
}

type TagUpdateInput

type TagUpdateInput struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

Jump to

Keyboard shortcuts

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