stash/pkg/models/join.go

102 lines
3.8 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
UpdatePerformersGalleries(galleryID int, updatedJoins []PerformersGalleries) error
UpdateGalleriesTags(galleryID int, updatedJoins []GalleriesTags) error
UpdateGalleriesImages(imageID int, updatedJoins []GalleriesImages) error
UpdatePerformersImages(imageID int, updatedJoins []PerformersImages) error
UpdateImagesTags(imageID int, updatedJoins []ImagesTags) 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)
}
func (t *joinReaderWriter) CreatePerformersScenes(newJoins []PerformersScenes) error {
return t.qb.CreatePerformersScenes(newJoins, t.tx)
}
func (t *joinReaderWriter) UpdatePerformersScenes(sceneID int, updatedJoins []PerformersScenes) error {
return t.qb.UpdatePerformersScenes(sceneID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) CreateMoviesScenes(newJoins []MoviesScenes) error {
return t.qb.CreateMoviesScenes(newJoins, t.tx)
}
func (t *joinReaderWriter) UpdateMoviesScenes(sceneID int, updatedJoins []MoviesScenes) error {
return t.qb.UpdateMoviesScenes(sceneID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdateScenesTags(sceneID int, updatedJoins []ScenesTags) error {
return t.qb.UpdateScenesTags(sceneID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdateSceneMarkersTags(sceneMarkerID int, updatedJoins []SceneMarkersTags) error {
return t.qb.UpdateSceneMarkersTags(sceneMarkerID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdatePerformersGalleries(galleryID int, updatedJoins []PerformersGalleries) error {
return t.qb.UpdatePerformersGalleries(galleryID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdateGalleriesTags(galleryID int, updatedJoins []GalleriesTags) error {
return t.qb.UpdateGalleriesTags(galleryID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdateGalleriesImages(imageID int, updatedJoins []GalleriesImages) error {
return t.qb.UpdateGalleriesImages(imageID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdatePerformersImages(imageID int, updatedJoins []PerformersImages) error {
return t.qb.UpdatePerformersImages(imageID, updatedJoins, t.tx)
}
func (t *joinReaderWriter) UpdateImagesTags(imageID int, updatedJoins []ImagesTags) error {
return t.qb.UpdateImagesTags(imageID, updatedJoins, t.tx)
}