Documentation
¶
Index ¶
- type Breadcrumb
- type BreadcrumbItem
- type BreadcrumbRepo
- type Series
- type SeriesMeta
- type SeriesRepo
- type Store
- func (m *Store) Find(ctx context.Context, path string) (*BreadcrumbItem, error)
- func (m *Store) GetSeries(ctx context.Context, seriesID int) (Series, error)
- func (m *Store) GetSeriesFromPath(ctx context.Context, path string) (Series, error)
- func (m *Store) GetSeriesImmediateChildrenSeries(ctx context.Context, seriesID int) ([]SeriesMeta, error)
- func (m *Store) GetSeriesMeta(ctx context.Context, seriesID int) (Series, error)
- func (m *Store) GetVideo(ctx context.Context, videoID int) (*VideoItem, error)
- func (s *Store) ListTeams(ctx context.Context) (*[]Team, error)
- func (m *Store) ListVideo(ctx context.Context, offset int, page int) (*[]VideoMeta, error)
- func (m *Store) SeriesBreadcrumb(ctx context.Context, seriesID int) ([]Breadcrumb, error)
- func (m *Store) VideoBreadcrumb(ctx context.Context, videoID int) ([]Breadcrumb, error)
- func (m *Store) VideoOfSeries(ctx context.Context, seriesID int) ([]VideoMeta, error)
- type Team
- type TeamMember
- type TeamRepo
- type VideoFile
- type VideoItem
- type VideoMeta
- type VideoRepo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Breadcrumb ¶
type Breadcrumb struct {
ID int `db:"id" json:"id"`
URL string `db:"url" json:"url"`
UseInURL bool `db:"use" json:"useInURL"`
Name string `db:"name" json:"name"`
SeriesID int `db:"series_id" json:"-"` // Here since needed
}
Breadcrumb generic to be used for both series and video as a breadcrumb
type BreadcrumbItem ¶
type BreadcrumbItem struct {
Video *VideoItem `json:"video,omitempty"`
Series *Series `json:"series,omitempty"`
}
BreadcrumbItem is either a video or a series
type BreadcrumbRepo ¶
type BreadcrumbRepo interface {
VideoBreadcrumb(ctx context.Context, videoID int) ([]Breadcrumb, error)
SeriesBreadcrumb(ctx context.Context, seriesID int) ([]Breadcrumb, error)
Find(ctx context.Context, path string) (*BreadcrumbItem, error)
}
BreadcrumbRepo represents all breadcrumb interactions
type Series ¶
type Series struct {
SeriesMeta
ImmediateChildSeries []SeriesMeta `json:"childSeries"`
ChildVideos []VideoMeta `json:"videos"`
}
Series provides basic information about a series this is useful when you want to know the current series and see it's immediate children.
type SeriesMeta ¶
type SeriesMeta struct {
SeriesID int `db:"series_id" json:"id"`
URL string `db:"url" json:"url"`
SeriesName string `db:"name" json:"name"`
Description string `db:"description" json:"description"`
Thumbnail null.String `db:"thumbnail" json:"thumbnail"`
Depth int `db:"depth" json:"-"`
}
SeriesMeta is used as a children object for a series
type SeriesRepo ¶
type SeriesRepo interface {
GetSeries(ctx context.Context, seriesID int) (Series, error)
GetSeriesMeta(ctx context.Context, seriesID int) (Series, error)
GetSeriesImmediateChildrenSeries(ctx context.Context, seriesID int) ([]SeriesMeta, error)
GetSeriesFromPath(ctx context.Context, path string) (Series, error)
}
SeriesRepo represents all series interactions
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store encapsulates our dependency
func (*Store) Find ¶
Find returns either a series or video for a given path TODO be consistent with creator's find in terms of variables
func (*Store) GetSeriesFromPath ¶
GetSeriesFromPath returns a series from a url path
func (*Store) GetSeriesImmediateChildrenSeries ¶
func (m *Store) GetSeriesImmediateChildrenSeries(ctx context.Context, seriesID int) ([]SeriesMeta, error)
GetSeriesImmediateChildrenSeries returns series directly below the chosen series
func (*Store) GetSeriesMeta ¶
GetSeriesMeta provides basic information for only the selected series TODO probably want to swap this to return SeriesMeta instead
func (*Store) GetVideo ¶
GetVideo returns a VideoItem, including the files, based on a given VideoItem ID.
func (*Store) SeriesBreadcrumb ¶
SeriesBreadcrumb will return the breadcrumb from SeriesID to root
func (*Store) VideoBreadcrumb ¶
VideoBreadcrumb returns the absolute path from a VideoID
type Team ¶
type Team struct {
Name string `json:"name"`
Description string `json:"description"`
Members []TeamMember `json:"members"`
}
Team a group in ystv
type TeamMember ¶
type TeamMember struct {
Name string `json:"name"`
Position string `json:"position"`
Email string `json:"email"`
}
TeamMember a position within a group
type VideoFile ¶
type VideoFile struct {
URI string `json:"uri"`
MimeType string `db:"mime_type" json:"mimeType"`
Mode string `db:"mode" json:"mode"`
Width int `db:"width" json:"width"`
Height int `db:"height" json:"height"`
}
VideoFile represents each file that a video item has stored.
type VideoMeta ¶
type VideoMeta struct {
VideoID int `db:"video_id" json:"id"`
SeriesID int `db:"series_id" json:"seriesID"`
Name string `db:"name" json:"name"`
URL string `db:"url" json:"url"`
Description string `db:"description" json:"description"`
Thumbnail null.String `db:"thumbnail" json:"thumbnail"`
BroadcastDate string `db:"broadcast_date" json:"broadcastDate"`
Views int `db:"views" json:"views"`
Duration null.Int `db:"duration" json:"duration"`
}
VideoMeta represents basic information about the videoitem used for listing.