stash/pkg/models/performer.go
WithoutPants aca2c7c5f4
Images section (#813)
* Add new configuration options
* Refactor scan/clean
* Schema changes
* Add details to galleries
* Remove redundant code
* Refine thumbnail generation
* Gallery overhaul
* Don't allow modifying zip gallery images
* Show gallery card overlays
* Hide zoom slider when not in grid mode
2020-10-13 10:12:46 +11:00

89 lines
2.6 KiB
Go

package models
import (
"github.com/jmoiron/sqlx"
)
type PerformerReader interface {
// Find(id int) (*Performer, error)
FindMany(ids []int) ([]*Performer, error)
FindBySceneID(sceneID int) ([]*Performer, error)
FindNamesBySceneID(sceneID int) ([]*Performer, error)
FindByImageID(imageID int) ([]*Performer, error)
FindByGalleryID(galleryID int) ([]*Performer, error)
FindByNames(names []string, nocase bool) ([]*Performer, error)
// Count() (int, error)
All() ([]*Performer, error)
// AllSlim() ([]*Performer, error)
// Query(performerFilter *PerformerFilterType, findFilter *FindFilterType) ([]*Performer, int)
GetPerformerImage(performerID int) ([]byte, error)
}
type PerformerWriter interface {
Create(newPerformer Performer) (*Performer, error)
Update(updatedPerformer Performer) (*Performer, error)
// Destroy(id string) error
UpdatePerformerImage(performerID int, image []byte) error
// DestroyPerformerImage(performerID int) error
}
type PerformerReaderWriter interface {
PerformerReader
PerformerWriter
}
func NewPerformerReaderWriter(tx *sqlx.Tx) PerformerReaderWriter {
return &performerReaderWriter{
tx: tx,
qb: NewPerformerQueryBuilder(),
}
}
type performerReaderWriter struct {
tx *sqlx.Tx
qb PerformerQueryBuilder
}
func (t *performerReaderWriter) FindMany(ids []int) ([]*Performer, error) {
return t.qb.FindMany(ids)
}
func (t *performerReaderWriter) FindByNames(names []string, nocase bool) ([]*Performer, error) {
return t.qb.FindByNames(names, t.tx, nocase)
}
func (t *performerReaderWriter) All() ([]*Performer, error) {
return t.qb.All()
}
func (t *performerReaderWriter) GetPerformerImage(performerID int) ([]byte, error) {
return t.qb.GetPerformerImage(performerID, t.tx)
}
func (t *performerReaderWriter) FindBySceneID(id int) ([]*Performer, error) {
return t.qb.FindBySceneID(id, t.tx)
}
func (t *performerReaderWriter) FindNamesBySceneID(sceneID int) ([]*Performer, error) {
return t.qb.FindNameBySceneID(sceneID, t.tx)
}
func (t *performerReaderWriter) FindByImageID(id int) ([]*Performer, error) {
return t.qb.FindByImageID(id, t.tx)
}
func (t *performerReaderWriter) FindByGalleryID(id int) ([]*Performer, error) {
return t.qb.FindByGalleryID(id, t.tx)
}
func (t *performerReaderWriter) Create(newPerformer Performer) (*Performer, error) {
return t.qb.Create(newPerformer, t.tx)
}
func (t *performerReaderWriter) Update(updatedPerformer Performer) (*Performer, error) {
return t.qb.Update(updatedPerformer, t.tx)
}
func (t *performerReaderWriter) UpdatePerformerImage(performerID int, image []byte) error {
return t.qb.UpdatePerformerImage(performerID, image, t.tx)
}