stash/pkg/models/mocks/transaction.go

168 lines
3.9 KiB
Go

package mocks
import (
"context"
models "github.com/stashapp/stash/pkg/models"
)
type TransactionManager struct {
gallery *GalleryReaderWriter
image *ImageReaderWriter
movie *MovieReaderWriter
performer *PerformerReaderWriter
scene *SceneReaderWriter
sceneMarker *SceneMarkerReaderWriter
scrapedItem *ScrapedItemReaderWriter
studio *StudioReaderWriter
tag *TagReaderWriter
savedFilter *SavedFilterReaderWriter
}
func NewTransactionManager() *TransactionManager {
return &TransactionManager{
gallery: &GalleryReaderWriter{},
image: &ImageReaderWriter{},
movie: &MovieReaderWriter{},
performer: &PerformerReaderWriter{},
scene: &SceneReaderWriter{},
sceneMarker: &SceneMarkerReaderWriter{},
scrapedItem: &ScrapedItemReaderWriter{},
studio: &StudioReaderWriter{},
tag: &TagReaderWriter{},
savedFilter: &SavedFilterReaderWriter{},
}
}
func (t *TransactionManager) WithTxn(ctx context.Context, fn func(r models.Repository) error) error {
return fn(t)
}
func (t *TransactionManager) GalleryMock() *GalleryReaderWriter {
return t.gallery
}
func (t *TransactionManager) ImageMock() *ImageReaderWriter {
return t.image
}
func (t *TransactionManager) MovieMock() *MovieReaderWriter {
return t.movie
}
func (t *TransactionManager) PerformerMock() *PerformerReaderWriter {
return t.performer
}
func (t *TransactionManager) SceneMarkerMock() *SceneMarkerReaderWriter {
return t.sceneMarker
}
func (t *TransactionManager) SceneMock() *SceneReaderWriter {
return t.scene
}
func (t *TransactionManager) ScrapedItemMock() *ScrapedItemReaderWriter {
return t.scrapedItem
}
func (t *TransactionManager) StudioMock() *StudioReaderWriter {
return t.studio
}
func (t *TransactionManager) TagMock() *TagReaderWriter {
return t.tag
}
func (t *TransactionManager) SavedFilterMock() *SavedFilterReaderWriter {
return t.savedFilter
}
func (t *TransactionManager) Gallery() models.GalleryReaderWriter {
return t.GalleryMock()
}
func (t *TransactionManager) Image() models.ImageReaderWriter {
return t.ImageMock()
}
func (t *TransactionManager) Movie() models.MovieReaderWriter {
return t.MovieMock()
}
func (t *TransactionManager) Performer() models.PerformerReaderWriter {
return t.PerformerMock()
}
func (t *TransactionManager) SceneMarker() models.SceneMarkerReaderWriter {
return t.SceneMarkerMock()
}
func (t *TransactionManager) Scene() models.SceneReaderWriter {
return t.SceneMock()
}
func (t *TransactionManager) ScrapedItem() models.ScrapedItemReaderWriter {
return t.ScrapedItemMock()
}
func (t *TransactionManager) Studio() models.StudioReaderWriter {
return t.StudioMock()
}
func (t *TransactionManager) Tag() models.TagReaderWriter {
return t.TagMock()
}
func (t *TransactionManager) SavedFilter() models.SavedFilterReaderWriter {
return t.SavedFilterMock()
}
type ReadTransaction struct {
*TransactionManager
}
func (t *TransactionManager) WithReadTxn(ctx context.Context, fn func(r models.ReaderRepository) error) error {
return fn(&ReadTransaction{t})
}
func (r *ReadTransaction) Gallery() models.GalleryReader {
return r.GalleryMock()
}
func (r *ReadTransaction) Image() models.ImageReader {
return r.ImageMock()
}
func (r *ReadTransaction) Movie() models.MovieReader {
return r.MovieMock()
}
func (r *ReadTransaction) Performer() models.PerformerReader {
return r.PerformerMock()
}
func (r *ReadTransaction) SceneMarker() models.SceneMarkerReader {
return r.SceneMarkerMock()
}
func (r *ReadTransaction) Scene() models.SceneReader {
return r.SceneMock()
}
func (r *ReadTransaction) ScrapedItem() models.ScrapedItemReader {
return r.ScrapedItemMock()
}
func (r *ReadTransaction) Studio() models.StudioReader {
return r.StudioMock()
}
func (r *ReadTransaction) Tag() models.TagReader {
return r.TagMock()
}
func (r *ReadTransaction) SavedFilter() models.SavedFilterReader {
return r.SavedFilterMock()
}