mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34: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:
76
pkg/models/repository_scene_marker.go
Normal file
76
pkg/models/repository_scene_marker.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package models
|
||||
|
||||
import "context"
|
||||
|
||||
// SceneMarkerGetter provides methods to get scene markers by ID.
|
||||
type SceneMarkerGetter interface {
|
||||
// TODO - rename this to Find and remove existing method
|
||||
FindMany(ctx context.Context, ids []int) ([]*SceneMarker, error)
|
||||
Find(ctx context.Context, id int) (*SceneMarker, error)
|
||||
}
|
||||
|
||||
// SceneMarkerFinder provides methods to find scene markers.
|
||||
type SceneMarkerFinder interface {
|
||||
SceneMarkerGetter
|
||||
FindBySceneID(ctx context.Context, sceneID int) ([]*SceneMarker, error)
|
||||
}
|
||||
|
||||
// SceneMarkerQueryer provides methods to query scene markers.
|
||||
type SceneMarkerQueryer interface {
|
||||
Query(ctx context.Context, sceneMarkerFilter *SceneMarkerFilterType, findFilter *FindFilterType) ([]*SceneMarker, int, error)
|
||||
QueryCount(ctx context.Context, sceneMarkerFilter *SceneMarkerFilterType, findFilter *FindFilterType) (int, error)
|
||||
}
|
||||
|
||||
// SceneMarkerCounter provides methods to count scene markers.
|
||||
type SceneMarkerCounter interface {
|
||||
Count(ctx context.Context) (int, error)
|
||||
CountByTagID(ctx context.Context, tagID int) (int, error)
|
||||
}
|
||||
|
||||
// SceneMarkerCreator provides methods to create scene markers.
|
||||
type SceneMarkerCreator interface {
|
||||
Create(ctx context.Context, newSceneMarker *SceneMarker) error
|
||||
}
|
||||
|
||||
// SceneMarkerUpdater provides methods to update scene markers.
|
||||
type SceneMarkerUpdater interface {
|
||||
Update(ctx context.Context, updatedSceneMarker *SceneMarker) error
|
||||
UpdatePartial(ctx context.Context, id int, updatedSceneMarker SceneMarkerPartial) (*SceneMarker, error)
|
||||
UpdateTags(ctx context.Context, markerID int, tagIDs []int) error
|
||||
}
|
||||
|
||||
// SceneMarkerDestroyer provides methods to destroy scene markers.
|
||||
type SceneMarkerDestroyer interface {
|
||||
Destroy(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
type SceneMarkerCreatorUpdater interface {
|
||||
SceneMarkerCreator
|
||||
SceneMarkerUpdater
|
||||
}
|
||||
|
||||
// SceneMarkerReader provides all methods to read scene markers.
|
||||
type SceneMarkerReader interface {
|
||||
SceneMarkerFinder
|
||||
SceneMarkerQueryer
|
||||
SceneMarkerCounter
|
||||
|
||||
TagIDLoader
|
||||
|
||||
All(ctx context.Context) ([]*SceneMarker, error)
|
||||
Wall(ctx context.Context, q *string) ([]*SceneMarker, error)
|
||||
GetMarkerStrings(ctx context.Context, q *string, sort *string) ([]*MarkerStringsResultType, error)
|
||||
}
|
||||
|
||||
// SceneMarkerWriter provides all methods to modify scene markers.
|
||||
type SceneMarkerWriter interface {
|
||||
SceneMarkerCreator
|
||||
SceneMarkerUpdater
|
||||
SceneMarkerDestroyer
|
||||
}
|
||||
|
||||
// SceneMarkerReaderWriter provides all scene marker methods.
|
||||
type SceneMarkerReaderWriter interface {
|
||||
SceneMarkerReader
|
||||
SceneMarkerWriter
|
||||
}
|
||||
Reference in New Issue
Block a user