mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
Model refactor (#3915)
* Add mockery config file * Move basic file/folder structs to models * Fix hack due to import loop * Move file interfaces to models * Move folder interfaces to models * Move scene interfaces to models * Move scene marker interfaces to models * Move image interfaces to models * Move gallery interfaces to models * Move gallery chapter interfaces to models * Move studio interfaces to models * Move movie interfaces to models * Move performer interfaces to models * Move tag interfaces to models * Move autotag interfaces to models * Regenerate mocks
This commit is contained in:
98
pkg/models/repository_performer.go
Normal file
98
pkg/models/repository_performer.go
Normal file
@@ -0,0 +1,98 @@
|
||||
package models
|
||||
|
||||
import "context"
|
||||
|
||||
// PerformerGetter provides methods to get performers by ID.
|
||||
type PerformerGetter interface {
|
||||
// TODO - rename this to Find and remove existing method
|
||||
FindMany(ctx context.Context, ids []int) ([]*Performer, error)
|
||||
Find(ctx context.Context, id int) (*Performer, error)
|
||||
}
|
||||
|
||||
// PerformerFinder provides methods to find performers.
|
||||
type PerformerFinder interface {
|
||||
PerformerGetter
|
||||
FindBySceneID(ctx context.Context, sceneID int) ([]*Performer, error)
|
||||
FindByImageID(ctx context.Context, imageID int) ([]*Performer, error)
|
||||
FindByGalleryID(ctx context.Context, galleryID int) ([]*Performer, error)
|
||||
FindByStashID(ctx context.Context, stashID StashID) ([]*Performer, error)
|
||||
FindByStashIDStatus(ctx context.Context, hasStashID bool, stashboxEndpoint string) ([]*Performer, error)
|
||||
FindByNames(ctx context.Context, names []string, nocase bool) ([]*Performer, error)
|
||||
}
|
||||
|
||||
// PerformerQueryer provides methods to query performers.
|
||||
type PerformerQueryer interface {
|
||||
Query(ctx context.Context, performerFilter *PerformerFilterType, findFilter *FindFilterType) ([]*Performer, int, error)
|
||||
QueryCount(ctx context.Context, galleryFilter *PerformerFilterType, findFilter *FindFilterType) (int, error)
|
||||
}
|
||||
|
||||
type PerformerAutoTagQueryer interface {
|
||||
PerformerQueryer
|
||||
AliasLoader
|
||||
|
||||
// TODO - this interface is temporary until the filter schema can fully
|
||||
// support the query needed
|
||||
QueryForAutoTag(ctx context.Context, words []string) ([]*Performer, error)
|
||||
}
|
||||
|
||||
// PerformerCounter provides methods to count performers.
|
||||
type PerformerCounter interface {
|
||||
Count(ctx context.Context) (int, error)
|
||||
CountByTagID(ctx context.Context, tagID int) (int, error)
|
||||
}
|
||||
|
||||
// PerformerCreator provides methods to create performers.
|
||||
type PerformerCreator interface {
|
||||
Create(ctx context.Context, newPerformer *Performer) error
|
||||
}
|
||||
|
||||
// PerformerUpdater provides methods to update performers.
|
||||
type PerformerUpdater interface {
|
||||
Update(ctx context.Context, updatedPerformer *Performer) error
|
||||
UpdatePartial(ctx context.Context, id int, updatedPerformer PerformerPartial) (*Performer, error)
|
||||
UpdateImage(ctx context.Context, performerID int, image []byte) error
|
||||
}
|
||||
|
||||
// PerformerDestroyer provides methods to destroy performers.
|
||||
type PerformerDestroyer interface {
|
||||
Destroy(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
type PerformerFinderCreator interface {
|
||||
PerformerFinder
|
||||
PerformerCreator
|
||||
}
|
||||
|
||||
type PerformerCreatorUpdater interface {
|
||||
PerformerCreator
|
||||
PerformerUpdater
|
||||
}
|
||||
|
||||
// PerformerReader provides all methods to read performers.
|
||||
type PerformerReader interface {
|
||||
PerformerFinder
|
||||
PerformerQueryer
|
||||
PerformerAutoTagQueryer
|
||||
PerformerCounter
|
||||
|
||||
AliasLoader
|
||||
StashIDLoader
|
||||
TagIDLoader
|
||||
|
||||
All(ctx context.Context) ([]*Performer, error)
|
||||
GetImage(ctx context.Context, performerID int) ([]byte, error)
|
||||
HasImage(ctx context.Context, performerID int) (bool, error)
|
||||
}
|
||||
|
||||
// PerformerWriter provides all methods to modify performers.
|
||||
type PerformerWriter interface {
|
||||
PerformerCreator
|
||||
PerformerUpdater
|
||||
PerformerDestroyer
|
||||
}
|
||||
|
||||
// PerformerReaderWriter provides all performer methods.
|
||||
type PerformerReaderWriter interface {
|
||||
PerformerReader
|
||||
PerformerWriter
|
||||
}
|
||||
Reference in New Issue
Block a user