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:
DingDongSoLong4
2023-09-01 02:39:29 +02:00
committed by GitHub
parent 20520a58b4
commit c364346a59
185 changed files with 3840 additions and 2559 deletions

View File

@@ -77,60 +77,21 @@ type ImageQueryResult struct {
Megapixels float64
TotalSize float64
finder ImageFinder
getter ImageGetter
images []*Image
resolveErr error
}
func NewImageQueryResult(finder ImageFinder) *ImageQueryResult {
func NewImageQueryResult(getter ImageGetter) *ImageQueryResult {
return &ImageQueryResult{
finder: finder,
getter: getter,
}
}
func (r *ImageQueryResult) Resolve(ctx context.Context) ([]*Image, error) {
// cache results
if r.images == nil && r.resolveErr == nil {
r.images, r.resolveErr = r.finder.FindMany(ctx, r.IDs)
r.images, r.resolveErr = r.getter.FindMany(ctx, r.IDs)
}
return r.images, r.resolveErr
}
type ImageFinder interface {
// TODO - rename to Find and remove existing method
FindMany(ctx context.Context, ids []int) ([]*Image, error)
}
type ImageReader interface {
ImageFinder
// TODO - remove this in another PR
Find(ctx context.Context, id int) (*Image, error)
FindByChecksum(ctx context.Context, checksum string) ([]*Image, error)
FindByGalleryID(ctx context.Context, galleryID int) ([]*Image, error)
CountByGalleryID(ctx context.Context, galleryID int) (int, error)
OCountByPerformerID(ctx context.Context, performerID int) (int, error)
Count(ctx context.Context) (int, error)
Size(ctx context.Context) (float64, error)
All(ctx context.Context) ([]*Image, error)
Query(ctx context.Context, options ImageQueryOptions) (*ImageQueryResult, error)
QueryCount(ctx context.Context, imageFilter *ImageFilterType, findFilter *FindFilterType) (int, error)
GalleryIDLoader
PerformerIDLoader
TagIDLoader
}
type ImageWriter interface {
Create(ctx context.Context, newImage *ImageCreateInput) error
Update(ctx context.Context, updatedImage *Image) error
UpdatePartial(ctx context.Context, id int, partial ImagePartial) (*Image, 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)
Destroy(ctx context.Context, id int) error
}
type ImageReaderWriter interface {
ImageReader
ImageWriter
}