stash/pkg/models/scene_marker.go

51 lines
1.4 KiB
Go

package models
import (
"github.com/jmoiron/sqlx"
)
type SceneMarkerReader interface {
// Find(id int) (*SceneMarker, error)
// FindMany(ids []int) ([]*SceneMarker, error)
FindBySceneID(sceneID int) ([]*SceneMarker, error)
// CountByTagID(tagID int) (int, error)
// GetMarkerStrings(q *string, sort *string) ([]*MarkerStringsResultType, error)
// Wall(q *string) ([]*SceneMarker, error)
// Query(sceneMarkerFilter *SceneMarkerFilterType, findFilter *FindFilterType) ([]*SceneMarker, int)
}
type SceneMarkerWriter interface {
Create(newSceneMarker SceneMarker) (*SceneMarker, error)
Update(updatedSceneMarker SceneMarker) (*SceneMarker, error)
// Destroy(id string) error
}
type SceneMarkerReaderWriter interface {
SceneMarkerReader
SceneMarkerWriter
}
func NewSceneMarkerReaderWriter(tx *sqlx.Tx) SceneMarkerReaderWriter {
return &sceneMarkerReaderWriter{
tx: tx,
qb: NewSceneMarkerQueryBuilder(),
}
}
type sceneMarkerReaderWriter struct {
tx *sqlx.Tx
qb SceneMarkerQueryBuilder
}
func (t *sceneMarkerReaderWriter) FindBySceneID(sceneID int) ([]*SceneMarker, error) {
return t.qb.FindBySceneID(sceneID, t.tx)
}
func (t *sceneMarkerReaderWriter) Create(newSceneMarker SceneMarker) (*SceneMarker, error) {
return t.qb.Create(newSceneMarker, t.tx)
}
func (t *sceneMarkerReaderWriter) Update(updatedSceneMarker SceneMarker) (*SceneMarker, error) {
return t.qb.Update(updatedSceneMarker, t.tx)
}