Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProxyUnsplashImage ¶
func ProxyUnsplashImage(c echo.Context) error
ProxyUnsplashImage proxies a thumbnail from unsplash for privacy reasons. @Summary Get an unsplash image @Description Get an unsplash image. **Returns json on error.** @tags list @Produce octet-stream @Param thumb path int true "Unsplash Image ID" @Security JWTKeyAuth @Success 200 {} string "The image" @Failure 404 {object} models.Message "The image does not exist." @Failure 500 {object} models.Message "Internal error" @Router /backgrounds/unsplash/image/{image} [get]
func ProxyUnsplashThumb ¶
func ProxyUnsplashThumb(c echo.Context) error
ProxyUnsplashThumb proxies a thumbnail from unsplash for privacy reasons. @Summary Get an unsplash thumbnail image @Description Get an unsplash thumbnail image. The thumbnail is cropped to a max width of 200px. **Returns json on error.** @tags list @Produce octet-stream @Param thumb path int true "Unsplash Image ID" @Security JWTKeyAuth @Success 200 {} string "The thumbnail" @Failure 404 {object} models.Message "The image does not exist." @Failure 500 {object} models.Message "Internal error" @Router /backgrounds/unsplash/image/{image}/thumb [get]
Types ¶
type Photo ¶
type Photo struct {
ID string `json:"id"`
CreatedAt string `json:"created_at"`
Width int `json:"width"`
Height int `json:"height"`
Color string `json:"color"`
Description string `json:"description"`
BlurHash string `json:"blur_hash"`
User struct {
Username string `json:"username"`
Name string `json:"name"`
} `json:"user"`
Urls struct {
Raw string `json:"raw"`
Full string `json:"full"`
Regular string `json:"regular"`
Small string `json:"small"`
Thumb string `json:"thumb"`
} `json:"urls"`
Links struct {
Self string `json:"self"`
HTML string `json:"html"`
Download string `json:"download"`
DownloadLocation string `json:"download_location"`
} `json:"links"`
}
Photo represents an unpslash photo as returned by their api
type Provider ¶
type Provider struct {
}
Provider represents an unsplash image provider
func (*Provider) Search ¶
func (p *Provider) Search(s *xorm.Session, search string, page int64) (result []*background.Image, err error)
Search is the implementation to search on unsplash @Summary Search for a background from unsplash @Description Search for a list background from unsplash @tags list @Produce json @Security JWTKeyAuth @Param s query string false "Search backgrounds from unsplash with this search term." @Param p query int false "The page number. Used for pagination. If not provided, the first page of results is returned." @Success 200 {array} background.Image "An array with photos" @Failure 500 {object} models.Message "Internal error" @Router /backgrounds/unsplash/search [get]
func (*Provider) Set ¶
func (p *Provider) Set(s *xorm.Session, image *background.Image, list *models.List, auth web.Auth) (err error)
Set sets an unsplash photo as list background @Summary Set an unsplash photo as list background @Description Sets a photo from unsplash as list background. @tags list @Accept json @Produce json @Security JWTKeyAuth @Param id path int true "List ID" @Param list body background.Image true "The image you want to set as background" @Success 200 {object} models.List "The background has been successfully set." @Failure 400 {object} web.HTTPError "Invalid image object provided." @Failure 403 {object} web.HTTPError "The user does not have access to the list" @Failure 500 {object} models.Message "Internal error" @Router /lists/{id}/backgrounds/unsplash [post]
type SearchResult ¶
type SearchResult struct {
Total int `json:"total"`
TotalPages int `json:"total_pages"`
Results []*Photo `json:"results"`
}
SearchResult is a search result from unsplash's api