mirror of
https://github.com/stashapp/stash.git
synced 2025-12-11 10:54:14 +01:00
* Reassign scene file functionality * Implement scene create * Add scene create UI * Add sceneMerge backend support * Add merge scene to UI * Populate split create with scene details * Add merge button to duplicate checker * Handle file-less scenes in marker preview generate * Make unique file name for file-less scene exports * Add o-counter to scene update input * Hide rescan for file-less scenes * Generate heatmap if no speed set on file * Fix count in scene/image queries
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
package scene
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/stashapp/stash/pkg/file"
|
|
"github.com/stashapp/stash/pkg/models"
|
|
"github.com/stashapp/stash/pkg/models/paths"
|
|
"github.com/stashapp/stash/pkg/plugin"
|
|
)
|
|
|
|
type FinderByFile interface {
|
|
FindByFileID(ctx context.Context, fileID file.ID) ([]*models.Scene, error)
|
|
}
|
|
|
|
type FileAssigner interface {
|
|
AssignFiles(ctx context.Context, sceneID int, fileID []file.ID) error
|
|
}
|
|
|
|
type Creator interface {
|
|
Create(ctx context.Context, newScene *models.Scene, fileIDs []file.ID) error
|
|
}
|
|
|
|
type CoverUpdater interface {
|
|
UpdateCover(ctx context.Context, sceneID int, cover []byte) error
|
|
}
|
|
|
|
type Config interface {
|
|
GetVideoFileNamingAlgorithm() models.HashAlgorithm
|
|
}
|
|
|
|
type Repository interface {
|
|
IDFinder
|
|
FinderByFile
|
|
Creator
|
|
PartialUpdater
|
|
Destroyer
|
|
models.VideoFileLoader
|
|
FileAssigner
|
|
CoverUpdater
|
|
models.SceneReader
|
|
}
|
|
|
|
type MarkerRepository interface {
|
|
MarkerFinder
|
|
MarkerDestroyer
|
|
|
|
Update(ctx context.Context, updatedObject models.SceneMarker) (*models.SceneMarker, error)
|
|
}
|
|
|
|
type Service struct {
|
|
File file.Store
|
|
Repository Repository
|
|
MarkerRepository MarkerRepository
|
|
PluginCache *plugin.Cache
|
|
|
|
Paths *paths.Paths
|
|
Config Config
|
|
}
|