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

@@ -3,6 +3,8 @@ package file
import (
"context"
"io/fs"
"github.com/stashapp/stash/pkg/models"
)
// PathFilter provides a filter function for paths.
@@ -18,18 +20,18 @@ func (pff PathFilterFunc) Accept(path string) bool {
// Filter provides a filter function for Files.
type Filter interface {
Accept(ctx context.Context, f File) bool
Accept(ctx context.Context, f models.File) bool
}
type FilterFunc func(ctx context.Context, f File) bool
type FilterFunc func(ctx context.Context, f models.File) bool
func (ff FilterFunc) Accept(ctx context.Context, f File) bool {
func (ff FilterFunc) Accept(ctx context.Context, f models.File) bool {
return ff(ctx, f)
}
// Handler provides a handler for Files.
type Handler interface {
Handle(ctx context.Context, f File, oldFile File) error
Handle(ctx context.Context, f models.File, oldFile models.File) error
}
// FilteredHandler is a Handler runs only if the filter accepts the file.
@@ -39,7 +41,7 @@ type FilteredHandler struct {
}
// Handle runs the handler if the filter accepts the file.
func (h *FilteredHandler) Handle(ctx context.Context, f File, oldFile File) error {
func (h *FilteredHandler) Handle(ctx context.Context, f models.File, oldFile models.File) error {
if h.Accept(ctx, f) {
return h.Handler.Handle(ctx, f, oldFile)
}
@@ -48,6 +50,6 @@ func (h *FilteredHandler) Handle(ctx context.Context, f File, oldFile File) erro
// CleanHandler provides a handler for cleaning Files and Folders.
type CleanHandler interface {
HandleFile(ctx context.Context, fileDeleter *Deleter, fileID ID) error
HandleFolder(ctx context.Context, fileDeleter *Deleter, folderID FolderID) error
HandleFile(ctx context.Context, fileDeleter *Deleter, fileID models.FileID) error
HandleFolder(ctx context.Context, fileDeleter *Deleter, folderID models.FolderID) error
}