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:
92
pkg/models/repository_image.go
Normal file
92
pkg/models/repository_image.go
Normal file
@@ -0,0 +1,92 @@
|
||||
package models
|
||||
|
||||
import "context"
|
||||
|
||||
// ImageGetter provides methods to get images by ID.
|
||||
type ImageGetter interface {
|
||||
// TODO - rename this to Find and remove existing method
|
||||
FindMany(ctx context.Context, ids []int) ([]*Image, error)
|
||||
Find(ctx context.Context, id int) (*Image, error)
|
||||
}
|
||||
|
||||
// ImageFinder provides methods to find images.
|
||||
type ImageFinder interface {
|
||||
ImageGetter
|
||||
FindByFingerprints(ctx context.Context, fp []Fingerprint) ([]*Image, error)
|
||||
FindByChecksum(ctx context.Context, checksum string) ([]*Image, error)
|
||||
FindByFileID(ctx context.Context, fileID FileID) ([]*Image, error)
|
||||
FindByFolderID(ctx context.Context, fileID FolderID) ([]*Image, error)
|
||||
FindByZipFileID(ctx context.Context, zipFileID FileID) ([]*Image, error)
|
||||
FindByGalleryID(ctx context.Context, galleryID int) ([]*Image, error)
|
||||
}
|
||||
|
||||
// ImageQueryer provides methods to query images.
|
||||
type ImageQueryer interface {
|
||||
Query(ctx context.Context, options ImageQueryOptions) (*ImageQueryResult, error)
|
||||
QueryCount(ctx context.Context, imageFilter *ImageFilterType, findFilter *FindFilterType) (int, error)
|
||||
}
|
||||
|
||||
// ImageCounter provides methods to count images.
|
||||
type ImageCounter interface {
|
||||
Count(ctx context.Context) (int, error)
|
||||
CountByFileID(ctx context.Context, fileID FileID) (int, error)
|
||||
CountByGalleryID(ctx context.Context, galleryID int) (int, error)
|
||||
OCountByPerformerID(ctx context.Context, performerID int) (int, error)
|
||||
}
|
||||
|
||||
// ImageCreator provides methods to create images.
|
||||
type ImageCreator interface {
|
||||
Create(ctx context.Context, newImage *ImageCreateInput) error
|
||||
}
|
||||
|
||||
// ImageUpdater provides methods to update images.
|
||||
type ImageUpdater interface {
|
||||
Update(ctx context.Context, updatedImage *Image) error
|
||||
UpdatePartial(ctx context.Context, id int, partial ImagePartial) (*Image, error)
|
||||
UpdatePerformers(ctx context.Context, imageID int, performerIDs []int) error
|
||||
UpdateTags(ctx context.Context, imageID int, tagIDs []int) error
|
||||
}
|
||||
|
||||
// ImageDestroyer provides methods to destroy images.
|
||||
type ImageDestroyer interface {
|
||||
Destroy(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
type ImageCreatorUpdater interface {
|
||||
ImageCreator
|
||||
ImageUpdater
|
||||
}
|
||||
|
||||
// ImageReader provides all methods to read images.
|
||||
type ImageReader interface {
|
||||
ImageFinder
|
||||
ImageQueryer
|
||||
ImageCounter
|
||||
|
||||
FileIDLoader
|
||||
GalleryIDLoader
|
||||
PerformerIDLoader
|
||||
TagIDLoader
|
||||
FileLoader
|
||||
|
||||
All(ctx context.Context) ([]*Image, error)
|
||||
Size(ctx context.Context) (float64, error)
|
||||
}
|
||||
|
||||
// ImageWriter provides all methods to modify images.
|
||||
type ImageWriter interface {
|
||||
ImageCreator
|
||||
ImageUpdater
|
||||
ImageDestroyer
|
||||
|
||||
AddFileID(ctx context.Context, id int, fileID FileID) error
|
||||
IncrementOCounter(ctx context.Context, id int) (int, error)
|
||||
DecrementOCounter(ctx context.Context, id int) (int, error)
|
||||
ResetOCounter(ctx context.Context, id int) (int, error)
|
||||
}
|
||||
|
||||
// ImageReaderWriter provides all image methods.
|
||||
type ImageReaderWriter interface {
|
||||
ImageReader
|
||||
ImageWriter
|
||||
}
|
||||
Reference in New Issue
Block a user