mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +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:
@@ -11,8 +11,6 @@ import (
|
||||
"github.com/stashapp/stash/pkg/models/json"
|
||||
"github.com/stashapp/stash/pkg/models/jsonschema"
|
||||
"github.com/stashapp/stash/pkg/sliceutil/intslice"
|
||||
"github.com/stashapp/stash/pkg/studio"
|
||||
"github.com/stashapp/stash/pkg/tag"
|
||||
"github.com/stashapp/stash/pkg/utils"
|
||||
)
|
||||
|
||||
@@ -20,18 +18,10 @@ type CoverGetter interface {
|
||||
GetCover(ctx context.Context, sceneID int) ([]byte, error)
|
||||
}
|
||||
|
||||
type MarkerTagFinder interface {
|
||||
tag.Finder
|
||||
TagFinder
|
||||
FindBySceneMarkerID(ctx context.Context, sceneMarkerID int) ([]*models.Tag, error)
|
||||
}
|
||||
|
||||
type MarkerFinder interface {
|
||||
FindBySceneID(ctx context.Context, sceneID int) ([]*models.SceneMarker, error)
|
||||
}
|
||||
|
||||
type TagFinder interface {
|
||||
models.TagGetter
|
||||
FindBySceneID(ctx context.Context, sceneID int) ([]*models.Tag, error)
|
||||
FindBySceneMarkerID(ctx context.Context, sceneMarkerID int) ([]*models.Tag, error)
|
||||
}
|
||||
|
||||
// ToBasicJSON converts a scene object into its JSON object equivalent. It
|
||||
@@ -88,7 +78,7 @@ func ToBasicJSON(ctx context.Context, reader CoverGetter, scene *models.Scene) (
|
||||
|
||||
// GetStudioName returns the name of the provided scene's studio. It returns an
|
||||
// empty string if there is no studio assigned to the scene.
|
||||
func GetStudioName(ctx context.Context, reader studio.Finder, scene *models.Scene) (string, error) {
|
||||
func GetStudioName(ctx context.Context, reader models.StudioGetter, scene *models.Scene) (string, error) {
|
||||
if scene.StudioID != nil {
|
||||
studio, err := reader.Find(ctx, *scene.StudioID)
|
||||
if err != nil {
|
||||
@@ -126,7 +116,7 @@ func getTagNames(tags []*models.Tag) []string {
|
||||
}
|
||||
|
||||
// GetDependentTagIDs returns a slice of unique tag IDs that this scene references.
|
||||
func GetDependentTagIDs(ctx context.Context, tags MarkerTagFinder, markerReader MarkerFinder, scene *models.Scene) ([]int, error) {
|
||||
func GetDependentTagIDs(ctx context.Context, tags TagFinder, markerReader models.SceneMarkerFinder, scene *models.Scene) ([]int, error) {
|
||||
var ret []int
|
||||
|
||||
t, err := tags.FindBySceneID(ctx, scene.ID)
|
||||
@@ -158,13 +148,9 @@ func GetDependentTagIDs(ctx context.Context, tags MarkerTagFinder, markerReader
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
type MovieFinder interface {
|
||||
Find(ctx context.Context, id int) (*models.Movie, error)
|
||||
}
|
||||
|
||||
// GetSceneMoviesJSON returns a slice of SceneMovie JSON representation objects
|
||||
// corresponding to the provided scene's scene movie relationships.
|
||||
func GetSceneMoviesJSON(ctx context.Context, movieReader MovieFinder, scene *models.Scene) ([]jsonschema.SceneMovie, error) {
|
||||
func GetSceneMoviesJSON(ctx context.Context, movieReader models.MovieGetter, scene *models.Scene) ([]jsonschema.SceneMovie, error) {
|
||||
sceneMovies := scene.Movies.List()
|
||||
|
||||
var results []jsonschema.SceneMovie
|
||||
@@ -202,7 +188,7 @@ func GetDependentMovieIDs(ctx context.Context, scene *models.Scene) ([]int, erro
|
||||
|
||||
// GetSceneMarkersJSON returns a slice of SceneMarker JSON representation
|
||||
// objects corresponding to the provided scene's markers.
|
||||
func GetSceneMarkersJSON(ctx context.Context, markerReader MarkerFinder, tagReader MarkerTagFinder, scene *models.Scene) ([]jsonschema.SceneMarker, error) {
|
||||
func GetSceneMarkersJSON(ctx context.Context, markerReader models.SceneMarkerFinder, tagReader TagFinder, scene *models.Scene) ([]jsonschema.SceneMarker, error) {
|
||||
sceneMarkers, err := markerReader.FindBySceneID(ctx, scene.ID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error getting scene markers: %v", err)
|
||||
|
||||
Reference in New Issue
Block a user