50 lines
1001 B
Go
50 lines
1001 B
Go
package model
|
|
|
|
const (
|
|
SnapshotStatusNew = "new"
|
|
SnapshotStatusProcessing = "processing"
|
|
SnapshotStatusReady = "ready"
|
|
SnapshotStatusError = "error"
|
|
)
|
|
|
|
type Snapshot interface {
|
|
GetID() string
|
|
GetVersion() int64
|
|
GetOriginal() *S3Object
|
|
GetPreview() *S3Object
|
|
GetText() *S3Object
|
|
GetThumbnail() *Thumbnail
|
|
HasOriginal() bool
|
|
HasPreview() bool
|
|
HasText() bool
|
|
HasThumbnail() bool
|
|
GetStatus() string
|
|
GetCreateTime() string
|
|
GetUpdateTime() *string
|
|
SetID(string)
|
|
SetVersion(int64)
|
|
SetOriginal(*S3Object)
|
|
SetPreview(*S3Object)
|
|
SetText(*S3Object)
|
|
SetThumbnail(*Thumbnail)
|
|
SetStatus(string)
|
|
}
|
|
|
|
type S3Object struct {
|
|
Bucket string `json:"bucket"`
|
|
Key string `json:"key"`
|
|
Size int64 `json:"size"`
|
|
Image *ImageProps `json:"image,omitempty"`
|
|
}
|
|
|
|
type ImageProps struct {
|
|
Width int `json:"width"`
|
|
Height int `json:"height"`
|
|
}
|
|
|
|
type Thumbnail struct {
|
|
Base64 string `json:"base64"`
|
|
Width int `json:"width"`
|
|
Height int `json:"height"`
|
|
}
|