Documentation ¶
Index ¶
- Constants
- Variables
- func AutocompleteHandler(c *gin.Context)
- func ClickHandler(c *gin.Context)
- func CollectionHandler(c *gin.Context)
- func CollectionsHandler(c *gin.Context)
- func ContentUnitHandler(c *gin.Context)
- func ContentUnitsHandler(c *gin.Context)
- func HealthCheckHandler(c *gin.Context)
- func HomePageHandler(c *gin.Context)
- func IsRuneQuotationMark(r rune) bool
- func IsTokenEnd(i int, runes []rune, lastQuote rune, lastQuoteIdx int) bool
- func IsTokenStart(i int, runes []rune, lastQuote rune) bool
- func LatestLessonHandler(c *gin.Context)
- func LessonsHandler(c *gin.Context)
- func ParseQuery(q string) search.Query
- func Ping(ctx context.Context, db *sql.DB) error
- func PublishersHandler(c *gin.Context)
- func RecentlyUpdatedHandler(c *gin.Context)
- func SearchHandler(c *gin.Context)
- func SemiQuasiDataHandler(c *gin.Context)
- func SetupRoutes(router *gin.Engine)
- func SourcesHierarchyHandler(c *gin.Context)
- func TagsHierarchyHandler(c *gin.Context)
- func Tokenize(str string) []string
- type Author
- type Banner
- type BaseRequest
- type Collection
- type CollectionUpdateStatus
- type CollectionsFilter
- type CollectionsRequest
- type CollectionsResponse
- type ContentTypesFilter
- type ContentUnit
- type ContentUnitsRequest
- type ContentUnitsResponse
- type DateRangeFilter
- type File
- type GenresProgramsFilter
- type HierarchyRequest
- type HomeResponse
- type HttpError
- type IDsFilter
- type ItemRequest
- type LessonsRequest
- type ListRequest
- type ListResponse
- type Publisher
- type PublishersFilter
- type PublishersRequest
- type PublishersResponse
- type SemiQuasiData
- type Source
- type SourcesFilter
- type Tag
- type TagsFilter
Constants ¶
View Source
const AUTHORS_SOURCES_SQL = `` /* 679-byte string literal not displayed */
View Source
const SOURCE_HIERARCHY_SQL = `` /* 1490-byte string literal not displayed */
args: 0,1,3,4 language 2 roots clause, "parent_id is NULL", "id = 8392", etc... 5 depth (int)
View Source
const TAG_HIERARCHY_SQL = `` /* 810-byte string literal not displayed */
args: 0,2 language 1 roots clause, "parent_id is NULL", "id = 8392", etc... 3 depth (int)
Variables ¶
View Source
var SECURE_PUBLISHED_MOD = qm.Where(fmt.Sprintf("secure=%d AND published IS TRUE", consts.SEC_PUBLIC))
Functions ¶
func AutocompleteHandler ¶
func AutocompleteHandler(c *gin.Context)
func ClickHandler ¶ added in v0.8.0
func ClickHandler(c *gin.Context)
func CollectionHandler ¶
func CollectionHandler(c *gin.Context)
func CollectionsHandler ¶
func CollectionsHandler(c *gin.Context)
func ContentUnitHandler ¶
func ContentUnitHandler(c *gin.Context)
func ContentUnitsHandler ¶
func ContentUnitsHandler(c *gin.Context)
func HealthCheckHandler ¶ added in v0.8.2
func HealthCheckHandler(c *gin.Context)
func HomePageHandler ¶ added in v0.6.6
func HomePageHandler(c *gin.Context)
func IsRuneQuotationMark ¶
func LatestLessonHandler ¶ added in v0.6.6
func LatestLessonHandler(c *gin.Context)
func LessonsHandler ¶
func LessonsHandler(c *gin.Context)
func ParseQuery ¶
Parses query and extracts terms and filters.
func PublishersHandler ¶ added in v0.6.5
func PublishersHandler(c *gin.Context)
func RecentlyUpdatedHandler ¶
func RecentlyUpdatedHandler(c *gin.Context)
func SearchHandler ¶
func SearchHandler(c *gin.Context)
func SemiQuasiDataHandler ¶ added in v0.7.3
func SemiQuasiDataHandler(c *gin.Context)
func SetupRoutes ¶
func SetupRoutes(router *gin.Engine)
func SourcesHierarchyHandler ¶
func SourcesHierarchyHandler(c *gin.Context)
func TagsHierarchyHandler ¶
func TagsHierarchyHandler(c *gin.Context)
Types ¶
type BaseRequest ¶
type BaseRequest struct {
Language string `json:"language" form:"language" binding:"omitempty,len=2"`
}
type Collection ¶
type Collection struct { ID string `json:"id"` ContentType string `json:"content_type"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` FilmDate *utils.Date `json:"film_date,omitempty"` StartDate *utils.Date `json:"start_date,omitempty"` EndDate *utils.Date `json:"end_date,omitempty"` Country string `json:"country,omitempty"` City string `json:"city,omitempty"` FullAddress string `json:"full_address,omitempty"` Genres []string `json:"genres,omitempty"` DefaultLanguage string `json:"default_language,omitempty"` HolidayID string `json:"holiday_id,omitempty"` ContentUnits []*ContentUnit `json:"content_units,omitempty"` }
type CollectionUpdateStatus ¶
type CollectionsFilter ¶ added in v0.6.5
type CollectionsFilter struct {
Collections []string `json:"collections" form:"collection" binding:"omitempty,dive,len=8"`
}
type CollectionsRequest ¶
type CollectionsRequest struct { ListRequest IDsFilter ContentTypesFilter DateRangeFilter WithUnits bool `json:"with_units" form:"with_units"` }
type CollectionsResponse ¶
type CollectionsResponse struct { ListResponse Collections []*Collection `json:"collections"` }
func NewCollectionsResponse ¶
func NewCollectionsResponse() *CollectionsResponse
type ContentTypesFilter ¶
type ContentTypesFilter struct {
ContentTypes []string `json:"content_types" form:"content_type" binding:"omitempty"`
}
type ContentUnit ¶
type ContentUnit struct { ID string `json:"id"` ContentType string `json:"content_type"` NameInCollection string `json:"name_in_collection,omitempty"` FilmDate *utils.Date `json:"film_date,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Duration float64 `json:"duration,omitempty"` OriginalLanguage string `json:"original_language,omitempty"` Files []*File `json:"files,omitempty"` Collections map[string]*Collection `json:"collections,omitempty"` Sources []string `json:"sources,omitempty"` Tags []string `json:"tags,omitempty"` Publishers []string `json:"publishers,omitempty"` SourceUnits map[string]*ContentUnit `json:"source_units,omitempty"` DerivedUnits map[string]*ContentUnit `json:"derived_units,omitempty"` }
type ContentUnitsRequest ¶
type ContentUnitsRequest struct { ListRequest IDsFilter ContentTypesFilter DateRangeFilter SourcesFilter TagsFilter GenresProgramsFilter CollectionsFilter PublishersFilter }
type ContentUnitsResponse ¶
type ContentUnitsResponse struct { ListResponse ContentUnits []*ContentUnit `json:"content_units"` }
func NewContentUnitsResponse ¶
func NewContentUnitsResponse() *ContentUnitsResponse
type DateRangeFilter ¶
type File ¶
type File struct { ID string `json:"id"` Name string `json:"name"` Size int64 `json:"size"` Duration float64 `json:"duration,omitempty"` Language string `json:"language,omitempty"` MimeType string `json:"mimetype,omitempty"` Type string `json:"type,omitempty"` SubType string `json:"subtype,omitempty"` VideoSize string `json:"video_size,omitempty"` }
type GenresProgramsFilter ¶
type HierarchyRequest ¶
type HierarchyRequest struct { BaseRequest RootUID string `json:"root" form:"root" binding:"omitempty,len=8"` Depth int `json:"depth" form:"depth"` }
type HomeResponse ¶ added in v0.6.9
type HomeResponse struct { LatestDailyLesson *Collection `json:"latest_daily_lesson"` LatestContentUnits []*ContentUnit `json:"latest_units"` Banner *Banner `json:"banner"` }
type HttpError ¶
func NewBadRequestError ¶
func NewHttpError ¶
func NewInternalError ¶
func NewNotFoundError ¶
func NewNotFoundError() *HttpError
type ItemRequest ¶
type ItemRequest struct { BaseRequest UID string }
type LessonsRequest ¶
type LessonsRequest struct { ListRequest DateRangeFilter SourcesFilter TagsFilter }
type ListRequest ¶
type ListRequest struct { BaseRequest PageNumber int `json:"page_no" form:"page_no" binding:"omitempty,min=1"` PageSize int `json:"page_size" form:"page_size" binding:"omitempty,min=1"` StartIndex int `json:"start_index" form:"start_index" binding:"omitempty,min=1"` StopIndex int `json:"stop_index" form:"stop_index" binding:"omitempty,min=1"` OrderBy string `json:"order_by" form:"order_by" binding:"omitempty"` }
type ListResponse ¶
type ListResponse struct {
Total int64 `json:"total"`
}
type PublishersFilter ¶ added in v0.6.5
type PublishersFilter struct {
Publishers []string `json:"publishers" form:"publisher" binding:"omitempty,dive,len=8"`
}
type PublishersRequest ¶ added in v0.6.5
type PublishersRequest struct {
ListRequest
}
type PublishersResponse ¶ added in v0.6.5
type PublishersResponse struct { ListResponse Publishers []*Publisher `json:"publishers"` }
func NewPublishersResponse ¶ added in v0.6.5
func NewPublishersResponse() *PublishersResponse
type SemiQuasiData ¶ added in v0.7.3
type Source ¶
type Source struct { UID string `json:"id"` ParentUID string `json:"parent_id"` Type string `json:"type"` Name null.String `json:"name"` Description null.String `json:"description,omitempty"` Children []*Source `json:"children,omitempty"` ID int64 `json:"-"` ParentID null.Int64 `json:"-"` Position null.Int `json:"-"` }
type SourcesFilter ¶
type TagsFilter ¶
type TagsFilter struct {
Tags []string `json:"tags" form:"tag" binding:"omitempty,dive,len=8"`
}
Click to show internal directories.
Click to hide internal directories.