Documentation
¶
Index ¶
Constants ¶
const ( DownloadHrefFmt = "http://%s/images/%s/%s/%s" DownloadPrivateHost = "download.ons.gov.uk" DownloadPublicHost = "static.ons.gov.uk" )
DownloadHrefFmt is the string formatter to generate href values for Image Download variants
const MaxFilenameLen = 40
MaxFilenameLen is the maximum number of characters allowed for Image filenames
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Download ¶
type Download struct { Size *int `bson:"size,omitempty" json:"size,omitempty"` Type string `bson:"type,omitempty" json:"type,omitempty"` Width *int `bson:"width,omitempty" json:"width,omitempty"` Height *int `bson:"height,omitempty" json:"height,omitempty"` Public bool `json:"public,omitempty"` Href string `json:"href,omitempty"` Private string `bson:"private,omitempty" json:"private,omitempty"` State string `bson:"state,omitempty" json:"state,omitempty"` Error string `bson:"error,omitempty" json:"error,omitempty"` ImportStarted *time.Time `bson:"import_started,omitempty" json:"import_started,omitempty"` ImportCompleted *time.Time `bson:"import_completed,omitempty" json:"import_completed,omitempty"` PublishStarted *time.Time `bson:"publish_started,omitempty" json:"publish_started,omitempty"` PublishCompleted *time.Time `bson:"publish_completed,omitempty" json:"publish_completed,omitempty"` }
Download represents a download variant model
func (*Download) Refresh ¶ added in v0.5.0
Refresh regenerates the values for public and href according to the download state and the provided values for variant name, image name and image extension
func (*Download) StateTransitionAllowed ¶ added in v0.5.0
StateTransitionAllowed checks if the download variant can transition from its current state to the provided target state
type DownloadState ¶ added in v0.5.0
type DownloadState int
DownloadState - iota enum of possible image states
const ( StateDownloadPending DownloadState = iota StateDownloadImporting StateDownloadImported StateDownloadPublished StateDownloadCompleted StateDownloadFailed )
Possible values for a State of a download variant. It can only be one of the following:
func ParseDownloadState ¶ added in v0.5.0
func ParseDownloadState(downloadStateStr string) (DownloadState, error)
ParseDownloadState returns a download state from its string representation
func (DownloadState) String ¶ added in v0.5.0
func (ds DownloadState) String() string
String returns the string representation of a downlad state
func (DownloadState) TransitionAllowed ¶ added in v0.5.0
func (ds DownloadState) TransitionAllowed(target DownloadState) bool
TransitionAllowed returns true only if the transition from the current state and the provided target DownloadState is allowed
type Image ¶
type Image struct { ID string `bson:"_id,omitempty" json:"id,omitempty"` CollectionID string `bson:"collection_id,omitempty" json:"collection_id,omitempty"` State string `bson:"state,omitempty" json:"state,omitempty"` Filename string `bson:"filename,omitempty" json:"filename,omitempty"` License *License `bson:"license,omitempty" json:"license,omitempty"` Upload *Upload `bson:"upload,omitempty" json:"upload,omitempty"` Type string `bson:"type,omitempty" json:"type,omitempty"` Downloads map[string]Download `bson:"downloads,omitempty" json:"downloads,omitempty"` }
Image represents an image metadata model as it is stored in mongoDB and json representation for API
func (*Image) Refresh ¶ added in v0.5.0
func (i *Image) Refresh()
Refresh regenerates all the values for the available download variants for this image
func (*Image) StateTransitionAllowed ¶
StateTransitionAllowed checks if the image can transition from its current state to the provided target state
type Images ¶
type Images struct { Count int `bson:"count,omitempty" json:"count"` Offset int `bson:"offset_index,omitempty" json:"offset_index"` Limit int `bson:"limit,omitempty" json:"limit"` Items []Image `bson:"items,omitempty" json:"items"` TotalCount int `bson:"total_count,omitempty" json:"total_count"` }
Images represents an array of images model as it is stored in mongoDB and json representation for API
type License ¶
type License struct { Title string `bson:"title,omitempty" json:"title,omitempty"` Href string `bson:"href,omitempty" json:"href,omitempty"` }
License represents a license model
type State ¶
type State int
State - iota enum of possible image states
const ( StateCreated State = iota StateUploaded StateImporting StateImported StatePublished StateCompleted StateDeleted StateFailedImport StateFailedPublish )
Possible values for a State of an image. It can only be one of the following:
func ParseState ¶
ParseState returns a state from its string representation
func (State) TransitionAllowed ¶
TransitionAllowed returns true only if the transition from the current state and the provided targetState is allowed