32 lines
873 B
Go
32 lines
873 B
Go
package image
|
|
|
|
import "io"
|
|
|
|
type VariantRepository interface {
|
|
List() ([]Variant, error)
|
|
Get(name string) (Variant, error)
|
|
Create(variant Variant) (Variant, error)
|
|
Update(variant Variant) (Variant, error)
|
|
Delete(name string) error
|
|
}
|
|
|
|
type VariantFileRepository interface {
|
|
Find(variantName string, sourceName string) (VariantFile, bool, error)
|
|
Save(file VariantFile) (VariantFile, error)
|
|
ListByVariant(variantName string) ([]VariantFile, error)
|
|
ListBySource(sourceName string) ([]VariantFile, error)
|
|
Delete(id uint32) error
|
|
Totals() (map[string]VariantFileTotals, error)
|
|
}
|
|
|
|
type RenderedVariant struct {
|
|
Content []byte
|
|
ContentType string
|
|
}
|
|
|
|
type VariantRenderer interface {
|
|
DeclaredSize(source io.Reader) (width int, height int, err error)
|
|
Render(source io.Reader, settings VariantSettings) (RenderedVariant, error)
|
|
EncodableFormats() []VariantFormat
|
|
}
|