mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
53 lines
1.7 KiB
Go
53 lines
1.7 KiB
Go
package models
|
|
|
|
import (
|
|
"github.com/jmoiron/sqlx"
|
|
)
|
|
|
|
type JoinReader interface {
|
|
// GetScenePerformers(sceneID int) ([]PerformersScenes, error)
|
|
GetSceneMovies(sceneID int) ([]MoviesScenes, error)
|
|
// GetSceneTags(sceneID int) ([]ScenesTags, error)
|
|
}
|
|
|
|
type JoinWriter interface {
|
|
// CreatePerformersScenes(newJoins []PerformersScenes) error
|
|
// AddPerformerScene(sceneID int, performerID int) (bool, error)
|
|
// UpdatePerformersScenes(sceneID int, updatedJoins []PerformersScenes) error
|
|
// DestroyPerformersScenes(sceneID int) error
|
|
// CreateMoviesScenes(newJoins []MoviesScenes) error
|
|
// AddMoviesScene(sceneID int, movieID int, sceneIdx *int) (bool, error)
|
|
// UpdateMoviesScenes(sceneID int, updatedJoins []MoviesScenes) error
|
|
// DestroyMoviesScenes(sceneID int) error
|
|
// CreateScenesTags(newJoins []ScenesTags) error
|
|
// UpdateScenesTags(sceneID int, updatedJoins []ScenesTags) error
|
|
// AddSceneTag(sceneID int, tagID int) (bool, error)
|
|
// DestroyScenesTags(sceneID int) error
|
|
// CreateSceneMarkersTags(newJoins []SceneMarkersTags) error
|
|
// UpdateSceneMarkersTags(sceneMarkerID int, updatedJoins []SceneMarkersTags) error
|
|
// DestroySceneMarkersTags(sceneMarkerID int, updatedJoins []SceneMarkersTags) error
|
|
// DestroyScenesGalleries(sceneID int) error
|
|
// DestroyScenesMarkers(sceneID int) error
|
|
}
|
|
|
|
type JoinReaderWriter interface {
|
|
JoinReader
|
|
JoinWriter
|
|
}
|
|
|
|
func NewJoinReaderWriter(tx *sqlx.Tx) JoinReaderWriter {
|
|
return &joinReaderWriter{
|
|
tx: tx,
|
|
qb: NewJoinsQueryBuilder(),
|
|
}
|
|
}
|
|
|
|
type joinReaderWriter struct {
|
|
tx *sqlx.Tx
|
|
qb JoinsQueryBuilder
|
|
}
|
|
|
|
func (t *joinReaderWriter) GetSceneMovies(sceneID int) ([]MoviesScenes, error) {
|
|
return t.qb.GetSceneMovies(sceneID, t.tx)
|
|
}
|