2020-10-12 23:12:46 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
|
)
|
|
|
|
|
|
|
|
type ImageReader interface {
|
|
|
|
// Find(id int) (*Image, error)
|
|
|
|
FindMany(ids []int) ([]*Image, error)
|
|
|
|
FindByChecksum(checksum string) (*Image, error)
|
2020-10-30 22:41:12 +00:00
|
|
|
FindByGalleryID(galleryID int) ([]*Image, error)
|
2020-10-12 23:12:46 +00:00
|
|
|
// FindByPath(path string) (*Image, error)
|
|
|
|
// FindByPerformerID(performerID int) ([]*Image, error)
|
|
|
|
// CountByPerformerID(performerID int) (int, error)
|
|
|
|
// FindByStudioID(studioID int) ([]*Image, error)
|
|
|
|
// Count() (int, error)
|
|
|
|
// SizeCount() (string, error)
|
|
|
|
// CountByStudioID(studioID int) (int, error)
|
|
|
|
// CountByTagID(tagID int) (int, error)
|
|
|
|
All() ([]*Image, error)
|
|
|
|
// Query(imageFilter *ImageFilterType, findFilter *FindFilterType) ([]*Image, int)
|
|
|
|
}
|
|
|
|
|
|
|
|
type ImageWriter interface {
|
|
|
|
Create(newImage Image) (*Image, error)
|
|
|
|
Update(updatedImage ImagePartial) (*Image, error)
|
|
|
|
UpdateFull(updatedImage Image) (*Image, error)
|
|
|
|
// IncrementOCounter(id int) (int, error)
|
|
|
|
// DecrementOCounter(id int) (int, error)
|
|
|
|
// ResetOCounter(id int) (int, error)
|
|
|
|
// Destroy(id string) error
|
|
|
|
}
|
|
|
|
|
|
|
|
type ImageReaderWriter interface {
|
|
|
|
ImageReader
|
|
|
|
ImageWriter
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewImageReaderWriter(tx *sqlx.Tx) ImageReaderWriter {
|
|
|
|
return &imageReaderWriter{
|
|
|
|
tx: tx,
|
|
|
|
qb: NewImageQueryBuilder(),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type imageReaderWriter struct {
|
|
|
|
tx *sqlx.Tx
|
|
|
|
qb ImageQueryBuilder
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *imageReaderWriter) FindMany(ids []int) ([]*Image, error) {
|
|
|
|
return t.qb.FindMany(ids)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *imageReaderWriter) FindByChecksum(checksum string) (*Image, error) {
|
|
|
|
return t.qb.FindByChecksum(checksum)
|
|
|
|
}
|
|
|
|
|
2020-10-30 22:41:12 +00:00
|
|
|
func (t *imageReaderWriter) FindByGalleryID(galleryID int) ([]*Image, error) {
|
|
|
|
return t.qb.FindByGalleryID(galleryID)
|
|
|
|
}
|
|
|
|
|
2020-10-12 23:12:46 +00:00
|
|
|
func (t *imageReaderWriter) All() ([]*Image, error) {
|
|
|
|
return t.qb.All()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *imageReaderWriter) Create(newImage Image) (*Image, error) {
|
|
|
|
return t.qb.Create(newImage, t.tx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *imageReaderWriter) Update(updatedImage ImagePartial) (*Image, error) {
|
|
|
|
return t.qb.Update(updatedImage, t.tx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *imageReaderWriter) UpdateFull(updatedImage Image) (*Image, error) {
|
|
|
|
return t.qb.UpdateFull(updatedImage, t.tx)
|
|
|
|
}
|