models

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2020 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultGthumbWidth int = 200

Variables

View Source
var DefaultMovieImage = "" /* 562-byte string literal not displayed */
View Source
var DefaultStudioImage = "" /* 562-byte string literal not displayed */

Functions

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

func SQLGenKeysPartial

func SQLGenKeysPartial(i interface{}) string

support a partial interface. When a partial interface is provided, keys will always be included if the value is not null. The partial interface must therefore consist of pointers

Types

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, width int) []byte

func (*Gallery) ImageCount added in v0.2.0

func (g *Gallery) ImageCount() int

type GalleryNullSceneID

type GalleryNullSceneID struct {
	SceneID sql.NullInt64
}

type GalleryQueryBuilder

type GalleryQueryBuilder struct{}

func NewGalleryQueryBuilder

func NewGalleryQueryBuilder() GalleryQueryBuilder

func (*GalleryQueryBuilder) All

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

func (*GalleryQueryBuilder) ClearGalleryId

func (qb *GalleryQueryBuilder) ClearGalleryId(sceneID int, tx *sqlx.Tx) 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) Destroy added in v0.2.0

func (qb *GalleryQueryBuilder) Destroy(id int, tx *sqlx.Tx) 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 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) AddMoviesScene added in v0.2.0

func (qb *JoinsQueryBuilder) AddMoviesScene(sceneID int, movieID int, sceneIdx *int, tx *sqlx.Tx) (bool, error)

func (*JoinsQueryBuilder) AddPerformerScene

func (qb *JoinsQueryBuilder) AddPerformerScene(sceneID int, performerID int, tx *sqlx.Tx) (bool, error)

AddPerformerScene adds a performer to a scene. It does not make any change if the performer already exists on the scene. It returns true if scene performer was added.

func (*JoinsQueryBuilder) AddSceneTag

func (qb *JoinsQueryBuilder) AddSceneTag(sceneID int, tagID int, tx *sqlx.Tx) (bool, error)

AddSceneTag adds a tag to a scene. It does not make any change if the tag already exists on the scene. It returns true if scene tag was added.

func (*JoinsQueryBuilder) CreateMoviesScenes added in v0.2.0

func (qb *JoinsQueryBuilder) CreateMoviesScenes(newJoins []MoviesScenes, tx *sqlx.Tx) error

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) DestroyMoviesScenes added in v0.2.0

func (qb *JoinsQueryBuilder) DestroyMoviesScenes(sceneID int, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) DestroyPerformersScenes

func (qb *JoinsQueryBuilder) DestroyPerformersScenes(sceneID int, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) DestroySceneMarkersTags

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

func (*JoinsQueryBuilder) DestroyScenesGalleries

func (qb *JoinsQueryBuilder) DestroyScenesGalleries(sceneID int, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) DestroyScenesMarkers

func (qb *JoinsQueryBuilder) DestroyScenesMarkers(sceneID int, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) DestroyScenesTags

func (qb *JoinsQueryBuilder) DestroyScenesTags(sceneID int, tx *sqlx.Tx) error

func (*JoinsQueryBuilder) GetSceneMovies added in v0.2.0

func (qb *JoinsQueryBuilder) GetSceneMovies(sceneID int, tx *sqlx.Tx) ([]MoviesScenes, error)

func (*JoinsQueryBuilder) GetScenePerformers

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

func (*JoinsQueryBuilder) GetSceneTags

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

func (*JoinsQueryBuilder) UpdateMoviesScenes added in v0.2.0

func (qb *JoinsQueryBuilder) UpdateMoviesScenes(sceneID int, updatedJoins []MoviesScenes, 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 Movie added in v0.2.0

type Movie struct {
	ID         int             `db:"id" json:"id"`
	FrontImage []byte          `db:"front_image" json:"front_image"`
	BackImage  []byte          `db:"back_image" json:"back_image"`
	Checksum   string          `db:"checksum" json:"checksum"`
	Name       sql.NullString  `db:"name" json:"name"`
	Aliases    sql.NullString  `db:"aliases" json:"aliases"`
	Duration   sql.NullInt64   `db:"duration" json:"duration"`
	Date       SQLiteDate      `db:"date" json:"date"`
	Rating     sql.NullInt64   `db:"rating" json:"rating"`
	StudioID   sql.NullInt64   `db:"studio_id,omitempty" json:"studio_id"`
	Director   sql.NullString  `db:"director" json:"director"`
	Synopsis   sql.NullString  `db:"synopsis" json:"synopsis"`
	URL        sql.NullString  `db:"url" json:"url"`
	CreatedAt  SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt  SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type MoviePartial added in v0.2.0

type MoviePartial struct {
	ID         int              `db:"id" json:"id"`
	FrontImage *[]byte          `db:"front_image" json:"front_image"`
	BackImage  *[]byte          `db:"back_image" json:"back_image"`
	Checksum   *string          `db:"checksum" json:"checksum"`
	Name       *sql.NullString  `db:"name" json:"name"`
	Aliases    *sql.NullString  `db:"aliases" json:"aliases"`
	Duration   *sql.NullInt64   `db:"duration" json:"duration"`
	Date       *SQLiteDate      `db:"date" json:"date"`
	Rating     *sql.NullInt64   `db:"rating" json:"rating"`
	StudioID   *sql.NullInt64   `db:"studio_id,omitempty" json:"studio_id"`
	Director   *sql.NullString  `db:"director" json:"director"`
	Synopsis   *sql.NullString  `db:"synopsis" json:"synopsis"`
	URL        *sql.NullString  `db:"url" json:"url"`
	CreatedAt  *SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt  *SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

type MovieQueryBuilder added in v0.2.0

type MovieQueryBuilder struct{}

func NewMovieQueryBuilder added in v0.2.0

func NewMovieQueryBuilder() MovieQueryBuilder

func (*MovieQueryBuilder) All added in v0.2.0

func (qb *MovieQueryBuilder) All() ([]*Movie, error)

func (*MovieQueryBuilder) AllSlim added in v0.2.0

func (qb *MovieQueryBuilder) AllSlim() ([]*Movie, error)

func (*MovieQueryBuilder) Count added in v0.2.0

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

func (*MovieQueryBuilder) Create added in v0.2.0

func (qb *MovieQueryBuilder) Create(newMovie Movie, tx *sqlx.Tx) (*Movie, error)

func (*MovieQueryBuilder) Destroy added in v0.2.0

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

func (*MovieQueryBuilder) Find added in v0.2.0

func (qb *MovieQueryBuilder) Find(id int, tx *sqlx.Tx) (*Movie, error)

func (*MovieQueryBuilder) FindByName added in v0.2.0

func (qb *MovieQueryBuilder) FindByName(name string, tx *sqlx.Tx, nocase bool) (*Movie, error)

func (*MovieQueryBuilder) FindByNames added in v0.2.0

func (qb *MovieQueryBuilder) FindByNames(names []string, tx *sqlx.Tx, nocase bool) ([]*Movie, error)

func (*MovieQueryBuilder) FindBySceneID added in v0.2.0

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

func (*MovieQueryBuilder) Query added in v0.2.0

func (qb *MovieQueryBuilder) Query(movieFilter *MovieFilterType, findFilter *FindFilterType) ([]*Movie, int)

func (*MovieQueryBuilder) Update added in v0.2.0

func (qb *MovieQueryBuilder) Update(updatedMovie MoviePartial, tx *sqlx.Tx) (*Movie, error)

type MoviesScenes added in v0.2.0

type MoviesScenes struct {
	MovieID    int           `db:"movie_id" json:"movie_id"`
	SceneID    int           `db:"scene_id" json:"scene_id"`
	SceneIndex sql.NullInt64 `db:"scene_index" json:"scene_index"`
}

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"`
	Gender       sql.NullString  `db:"gender" json:"gender"`
	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 PerformerQueryBuilder

type PerformerQueryBuilder struct{}

func NewPerformerQueryBuilder

func NewPerformerQueryBuilder() PerformerQueryBuilder

func (*PerformerQueryBuilder) All

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

func (*PerformerQueryBuilder) AllSlim added in v0.2.0

func (qb *PerformerQueryBuilder) AllSlim() ([]*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, nocase bool) ([]*Performer, error)

func (*PerformerQueryBuilder) FindBySceneID

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

func (*PerformerQueryBuilder) FindNameBySceneID added in v0.2.0

func (qb *PerformerQueryBuilder) FindNameBySceneID(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 PerformersScenes

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

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"`
	Cover      []byte          `db:"cover" json:"cover"`
	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"`
	OCounter   int             `db:"o_counter" json:"o_counter"`
	Size       sql.NullString  `db:"size" json:"size"`
	Duration   sql.NullFloat64 `db:"duration" json:"duration"`
	VideoCodec sql.NullString  `db:"video_codec" json:"video_codec"`
	Format     sql.NullString  `db:"format" json:"format_name"`
	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"`
}

func (Scene) GetTitle

func (s Scene) GetTitle() string

type SceneFileType

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

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 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 SceneMarkersTags

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

type ScenePartial

type ScenePartial struct {
	ID         int              `db:"id" json:"id"`
	Checksum   *string          `db:"checksum" json:"checksum"`
	Path       *string          `db:"path" json:"path"`
	Cover      *[]byte          `db:"cover" json:"cover"`
	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"`
	MovieID    *sql.NullInt64   `db:"movie_id,omitempty" json:"movie_id"`
	CreatedAt  *SQLiteTimestamp `db:"created_at" json:"created_at"`
	UpdatedAt  *SQLiteTimestamp `db:"updated_at" json:"updated_at"`
}

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) CountByMovieID added in v0.2.0

func (qb *SceneQueryBuilder) CountByMovieID(movieID int) (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) DecrementOCounter

func (qb *SceneQueryBuilder) DecrementOCounter(id int, tx *sqlx.Tx) (int, error)

func (*SceneQueryBuilder) Destroy

func (qb *SceneQueryBuilder) Destroy(id string, tx *sqlx.Tx) 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) FindByMovieID added in v0.2.0

func (qb *SceneQueryBuilder) FindByMovieID(movieID int) ([]*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) IncrementOCounter

func (qb *SceneQueryBuilder) IncrementOCounter(id int, tx *sqlx.Tx) (int, error)

func (*SceneQueryBuilder) Query

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

func (*SceneQueryBuilder) QueryAllByPathRegex

func (qb *SceneQueryBuilder) QueryAllByPathRegex(regex string) ([]*Scene, error)

func (*SceneQueryBuilder) QueryByPathRegex

func (qb *SceneQueryBuilder) QueryByPathRegex(findFilter *FindFilterType) ([]*Scene, int)

func (*SceneQueryBuilder) ResetOCounter

func (qb *SceneQueryBuilder) ResetOCounter(id int, tx *sqlx.Tx) (int, error)

func (*SceneQueryBuilder) SizeCount added in v0.2.0

func (qb *SceneQueryBuilder) SizeCount() (string, error)

func (*SceneQueryBuilder) Update

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

func (*SceneQueryBuilder) UpdateFormat added in v0.2.0

func (qb *SceneQueryBuilder) UpdateFormat(id int, format string, tx *sqlx.Tx) error

func (*SceneQueryBuilder) Wall

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

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 `graphql:"name" json:"name"`
	Gender       *string `graphql:"gender" json:"gender"`
	URL          *string `graphql:"url" json:"url"`
	Twitter      *string `graphql:"twitter" json:"twitter"`
	Instagram    *string `graphql:"instagram" json:"instagram"`
	Birthdate    *string `graphql:"birthdate" json:"birthdate"`
	Ethnicity    *string `graphql:"ethnicity" json:"ethnicity"`
	Country      *string `graphql:"country" json:"country"`
	EyeColor     *string `graphql:"eye_color" json:"eye_color"`
	Height       *string `graphql:"height" json:"height"`
	Measurements *string `graphql:"measurements" json:"measurements"`
	FakeTits     *string `graphql:"fake_tits" json:"fake_tits"`
	CareerLength *string `graphql:"career_length" json:"career_length"`
	Tattoos      *string `graphql:"tattoos" json:"tattoos"`
	Piercings    *string `graphql:"piercings" json:"piercings"`
	Aliases      *string `graphql:"aliases" json:"aliases"`
	Image        *string `graphql:"image" json:"image"`
}

type ScrapedPerformerStash added in v0.2.0

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

this type has no Image field

type ScrapedScene

type ScrapedScene struct {
	Title      *string                  `graphql:"title" json:"title"`
	Details    *string                  `graphql:"details" json:"details"`
	URL        *string                  `graphql:"url" json:"url"`
	Date       *string                  `graphql:"date" json:"date"`
	Image      *string                  `graphql:"image" json:"image"`
	File       *SceneFileType           `graphql:"file" json:"file"`
	Studio     *ScrapedSceneStudio      `graphql:"studio" json:"studio"`
	Movies     []*ScrapedSceneMovie     `graphql:"movies" json:"movies"`
	Tags       []*ScrapedSceneTag       `graphql:"tags" json:"tags"`
	Performers []*ScrapedScenePerformer `graphql:"performers" json:"performers"`
}

type ScrapedSceneMovie added in v0.2.0

type ScrapedSceneMovie struct {
	// Set if movie matched
	ID       *string `graphql:"id" json:"id"`
	Name     string  `graphql:"name" json:"name"`
	Aliases  string  `graphql:"aliases" json:"aliases"`
	Duration string  `graphql:"duration" json:"duration"`
	Date     string  `graphql:"date" json:"date"`
	Rating   string  `graphql:"rating" json:"rating"`
	Director string  `graphql:"director" json:"director"`
	Synopsis string  `graphql:"synopsis" json:"synopsis"`
	URL      *string `graphql:"url" json:"url"`
}

type ScrapedScenePerformer

type ScrapedScenePerformer struct {
	// Set if performer matched
	ID           *string `graphql:"id" json:"id"`
	Name         string  `graphql:"name" json:"name"`
	Gender       *string `graphql:"gender" json:"gender"`
	URL          *string `graphql:"url" json:"url"`
	Twitter      *string `graphql:"twitter" json:"twitter"`
	Instagram    *string `graphql:"instagram" json:"instagram"`
	Birthdate    *string `graphql:"birthdate" json:"birthdate"`
	Ethnicity    *string `graphql:"ethnicity" json:"ethnicity"`
	Country      *string `graphql:"country" json:"country"`
	EyeColor     *string `graphql:"eye_color" json:"eye_color"`
	Height       *string `graphql:"height" json:"height"`
	Measurements *string `graphql:"measurements" json:"measurements"`
	FakeTits     *string `graphql:"fake_tits" json:"fake_tits"`
	CareerLength *string `graphql:"career_length" json:"career_length"`
	Tattoos      *string `graphql:"tattoos" json:"tattoos"`
	Piercings    *string `graphql:"piercings" json:"piercings"`
	Aliases      *string `graphql:"aliases" json:"aliases"`
}

type ScrapedSceneStash added in v0.2.0

type ScrapedSceneStash struct {
	ID         string                   `graphql:"id" json:"id"`
	Title      *string                  `graphql:"title" json:"title"`
	Details    *string                  `graphql:"details" json:"details"`
	URL        *string                  `graphql:"url" json:"url"`
	Date       *string                  `graphql:"date" json:"date"`
	File       *SceneFileType           `graphql:"file" json:"file"`
	Studio     *ScrapedSceneStudio      `graphql:"studio" json:"studio"`
	Tags       []*ScrapedSceneTag       `graphql:"tags" json:"tags"`
	Performers []*ScrapedScenePerformer `graphql:"performers" json:"performers"`
}

stash doesn't return image, and we need id

type ScrapedSceneStudio

type ScrapedSceneStudio struct {
	// Set if studio matched
	ID   *string `graphql:"id" json:"id"`
	Name string  `graphql:"name" json:"name"`
	URL  *string `graphql:"url" json:"url"`
}

type ScrapedSceneTag

type ScrapedSceneTag struct {
	// Set if tag matched
	ID   *string `graphql:"id" json:"id"`
	Name string  `graphql:"name" json:"name"`
}

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 StudioQueryBuilder

type StudioQueryBuilder struct{}

func NewStudioQueryBuilder

func NewStudioQueryBuilder() StudioQueryBuilder

func (*StudioQueryBuilder) All

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

func (*StudioQueryBuilder) AllSlim added in v0.2.0

func (qb *StudioQueryBuilder) AllSlim() ([]*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, nocase bool) (*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 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 TagQueryBuilder

type TagQueryBuilder struct{}

func NewTagQueryBuilder

func NewTagQueryBuilder() TagQueryBuilder

func (*TagQueryBuilder) All

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

func (*TagQueryBuilder) AllSlim added in v0.2.0

func (qb *TagQueryBuilder) AllSlim() ([]*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, nocase bool) (*Tag, error)

func (*TagQueryBuilder) FindByNames

func (qb *TagQueryBuilder) FindByNames(names []string, tx *sqlx.Tx, nocase bool) ([]*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) Query

func (qb *TagQueryBuilder) Query(findFilter *FindFilterType) ([]*Tag, int)

func (*TagQueryBuilder) Update

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

Jump to

Keyboard shortcuts

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