2020-09-15 07:28:53 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
type PerformerReader interface {
|
2021-01-18 01:23:20 +00:00
|
|
|
Find(id int) (*Performer, error)
|
2020-09-15 07:28:53 +00:00
|
|
|
FindMany(ids []int) ([]*Performer, error)
|
|
|
|
FindBySceneID(sceneID int) ([]*Performer, error)
|
|
|
|
FindNamesBySceneID(sceneID int) ([]*Performer, error)
|
2020-10-12 23:12:46 +00:00
|
|
|
FindByImageID(imageID int) ([]*Performer, error)
|
|
|
|
FindByGalleryID(galleryID int) ([]*Performer, error)
|
2020-09-20 08:36:02 +00:00
|
|
|
FindByNames(names []string, nocase bool) ([]*Performer, error)
|
2021-03-10 01:25:51 +00:00
|
|
|
CountByTagID(tagID int) (int, error)
|
2021-01-18 01:23:20 +00:00
|
|
|
Count() (int, error)
|
2020-09-15 07:28:53 +00:00
|
|
|
All() ([]*Performer, error)
|
2021-04-26 02:51:31 +00:00
|
|
|
// TODO - this interface is temporary until the filter schema can fully
|
|
|
|
// support the query needed
|
|
|
|
QueryForAutoTag(words []string) ([]*Performer, error)
|
2021-01-18 01:23:20 +00:00
|
|
|
Query(performerFilter *PerformerFilterType, findFilter *FindFilterType) ([]*Performer, int, error)
|
|
|
|
GetImage(performerID int) ([]byte, error)
|
|
|
|
GetStashIDs(performerID int) ([]*StashID, error)
|
2021-03-10 01:25:51 +00:00
|
|
|
GetTagIDs(sceneID int) ([]int, error)
|
2020-09-15 07:28:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type PerformerWriter interface {
|
2020-09-20 08:36:02 +00:00
|
|
|
Create(newPerformer Performer) (*Performer, error)
|
2020-12-04 01:42:56 +00:00
|
|
|
Update(updatedPerformer PerformerPartial) (*Performer, error)
|
|
|
|
UpdateFull(updatedPerformer Performer) (*Performer, error)
|
2021-01-18 01:23:20 +00:00
|
|
|
Destroy(id int) error
|
|
|
|
UpdateImage(performerID int, image []byte) error
|
|
|
|
DestroyImage(performerID int) error
|
|
|
|
UpdateStashIDs(performerID int, stashIDs []StashID) error
|
2021-03-10 01:25:51 +00:00
|
|
|
UpdateTags(sceneID int, tagIDs []int) error
|
2020-09-15 07:28:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type PerformerReaderWriter interface {
|
|
|
|
PerformerReader
|
|
|
|
PerformerWriter
|
|
|
|
}
|