models

package
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CategoriesResponse

type CategoriesResponse struct {
	Categories []Category `json:"categories"`
}

type Category

type Category struct {
	CategoryID int    `json:"category_id"`
	Name       string `json:"name"`
	Permalink  string `json:"permalink,omitempty"`
	Level      int    `json:"level"` // 1 = top-level, 2 = subcategory
}

type Chapter

type Chapter struct {
	ChapterID int `json:"chapter_id"`

	StartsAt int `json:"starts_at"`

	Title string `json:"title"`

	ExternalURL string `json:"external_url,omitempty"`

	ImageURL string `json:"image_url,omitempty"`

	ImageOriginalURL string `json:"image_original_url,omitempty"`
}

type ChapterResponse

type ChapterResponse struct {
	Chapter Chapter `json:"chapter"`
}

type Cuepoint

type Cuepoint struct {
	Timecode    int `json:"timecode"`
	AdsMaxCount int `json:"ads_max_count"`
}

type CuepointsResponse

type CuepointsResponse struct {
	Cuepoints []Cuepoint `json:"cuepoints"`
}

type CustomTime

type CustomTime struct {
	time.Time
}

func (*CustomTime) UnmarshalJSON

func (ct *CustomTime) UnmarshalJSON(b []byte) error

type DeviceStatistics

type DeviceStatistics struct {
	Name       string  `json:"name"` // Desktop, Mobile, Tablet, Others
	Percentage float64 `json:"percentage"`
}

type DevicesStatisticsResponse

type DevicesStatisticsResponse struct {
	Statistics []DeviceStatistics `json:"statistics"`
}

type Episode

type Episode struct {
	EpisodeID int `json:"episode_id"`

	Title string `json:"title"`

	Description string `json:"description"`

	ShowID int `json:"show_id"`

	Show *Show `json:"show,omitempty"`

	Author *User `json:"author,omitempty"`

	AuthorID int    `json:"author_id"`
	SiteURL  string `json:"site_url"`

	ImageURL string `json:"image_url"`

	ImageOriginalURL string `json:"image_original_url"`

	Duration int `json:"duration"`

	PlayCount int `json:"plays_count"`

	LikesCount int `json:"likes_count"`

	MessagesCount int `json:"messages_count"`

	Tags []string `json:"tags,omitempty"`

	PublishedAt *CustomTime `json:"published_at,omitempty"`

	EncodingStatus string `json:"encoding_status"`

	MediaURL string `json:"media_url,omitempty"`

	DownloadURL string `json:"download_url,omitempty"`

	DownloadEnabled bool `json:"download_enabled"`

	Explicit bool `json:"explicit"`

	Hidden bool `json:"hidden"`
}

func (*Episode) DurationFormatted

func (e *Episode) DurationFormatted() string

DurationFormatted returns the episode duration as a human-readable string. The duration is stored in milliseconds.

type EpisodeOverallStatistics

type EpisodeOverallStatistics struct {
	PlaysCount         int      `json:"plays_count"`
	PlaysOndemandCount int      `json:"plays_ondemand_count"`
	PlaysLiveCount     int      `json:"plays_live_count"`
	ChaptersCount      int      `json:"chapters_count"`
	MessagesCount      int      `json:"messages_count"`
	LikesCount         int      `json:"likes_count"`
	DownloadsCount     int      `json:"downloads_count"`
	Episode            *Episode `json:"episode,omitempty"`
}

type EpisodeOverallStatisticsResponse

type EpisodeOverallStatisticsResponse struct {
	Statistics EpisodeOverallStatistics `json:"statistics"`
}

type EpisodePlayTotals

type EpisodePlayTotals struct {
	EpisodeID          int    `json:"episode_id"`
	Title              string `json:"title"`
	PlaysCount         int    `json:"plays_count"`
	PlaysLiveCount     int    `json:"plays_live_count"`
	PlaysOndemandCount int    `json:"plays_ondemand_count"`
	DownloadsCount     int    `json:"downloads_count"`
	IsDeleted          bool   `json:"is_deleted"`
	IsTransferred      bool   `json:"is_transferred"`
}

type EpisodeResponse

type EpisodeResponse struct {
	Episode Episode `json:"episode"`
}

type ExploreShow

type ExploreShow struct {
	ShowID           int    `json:"show_id"`
	Title            string `json:"title"`
	SiteURL          string `json:"site_url"`
	ImageURL         string `json:"image_url"`
	ImageOriginalURL string `json:"image_original_url"`
	AuthorID         int    `json:"author_id"`
}

ExploreShow represents a show item returned by explore endpoints. Used by: GET /v2/explore/categories/{category_id}/items

type FollowersStatistics

type FollowersStatistics struct {
	Date           string `json:"date"` // Format: YYYY-MM-DD
	FollowersCount int    `json:"followers_count"`
}

type FollowersStatisticsResponse

type FollowersStatisticsResponse struct {
	Statistics []FollowersStatistics `json:"statistics"`
}

type GeoStatistics

type GeoStatistics struct {
	Name       string  `json:"name"`
	Percentage float64 `json:"percentage"`
}

type GeographicStatistics

type GeographicStatistics struct {
	Country []GeoStatistics `json:"country"`
	City    []GeoStatistics `json:"city"`
}

type GeographicStatisticsResponse

type GeographicStatisticsResponse struct {
	Statistics GeographicStatistics `json:"statistics"`
}

type GooglePlayCategoriesResponse

type GooglePlayCategoriesResponse struct {
	GooglePlayCategories []GooglePlayCategory `json:"googleplay_categories"`
}

type GooglePlayCategory

type GooglePlayCategory struct {
	CategoryID int    `json:"category_id"`
	Name       string `json:"name"`
	Level      int    `json:"level"`
}

type Language

type Language struct {
	Code string
	Name string
}

type LanguagesResponse

type LanguagesResponse struct {
	Languages map[string]string `json:"languages"`
}

type LikesStatistics

type LikesStatistics struct {
	Date       string `json:"date"` // Format: YYYY-MM-DD
	LikesCount int    `json:"likes_count"`
}

type LikesStatisticsResponse

type LikesStatisticsResponse struct {
	Statistics []LikesStatistics `json:"statistics"`
}

type ListenersStatistics

type ListenersStatistics struct {
	Date           string `json:"date"` // Format: YYYY-MM-DD
	ListenersCount int    `json:"listeners_count"`
}

type ListenersStatisticsResponse

type ListenersStatisticsResponse struct {
	Statistics []ListenersStatistics `json:"statistics"`
}

type Message

type Message struct {
	MessageID int `json:"message_id"`

	EpisodeID int `json:"episode_id"`

	Text string `json:"text"`

	CreatedAt string `json:"created_at"`

	AuthorID int `json:"author_id"`

	AuthorUsername string `json:"author_username"`

	AuthorFullname string `json:"author_fullname"`

	AuthorSiteURL string `json:"author_site_url"`

	AuthorImageURL string `json:"author_image_url,omitempty"`

	AuthorImageOriginalURL string `json:"author_image_original_url,omitempty"`

	AppName string `json:"app_name,omitempty"`

	AppURL string `json:"app_url,omitempty"`

	AuthorIsOwner bool `json:"author_is_owner"`
}

type OSStatistics

type OSStatistics struct {
	Name       string  `json:"name"`
	Percentage float64 `json:"percentage"`
}

type OSStatisticsBreakdown

type OSStatisticsBreakdown struct {
	Desktop []OSStatistics `json:"desktop"`
	Mobile  []OSStatistics `json:"mobile"`
}

type OSStatisticsResponse

type OSStatisticsResponse struct {
	Statistics OSStatisticsBreakdown `json:"statistics"`
}

type PlayStatistics

type PlayStatistics struct {
	Date               string `json:"date"` // Format: YYYY-MM-DD
	PlaysCount         int    `json:"plays_count"`
	PlaysLiveCount     int    `json:"plays_live_count"`
	PlaysOndemandCount int    `json:"plays_ondemand_count"`
	DownloadsCount     int    `json:"downloads_count"`
}

type PlayStatisticsResponse

type PlayStatisticsResponse struct {
	Statistics []PlayStatistics `json:"statistics"`
}

type Show

type Show struct {
	ShowID int `json:"show_id"`

	Title string `json:"title"`

	Description string `json:"description"`

	SiteURL string `json:"site_url"`

	ImageURL string `json:"image_url"`

	ImageOriginalURL string `json:"image_original_url"`

	Author *User `json:"author,omitempty"`

	AuthorID int `json:"author_id"`

	Category *Category `json:"category,omitempty"`

	CategoryID int `json:"category_id"`

	Language string `json:"language"`

	EpisodesCount int `json:"episodes_count"`

	FollowersCount int `json:"followers_count"`

	PlayCount int `json:"plays_count"`

	LikesCount int `json:"likes_count"`

	LastEpisodeAt *CustomTime `json:"last_episode_at,omitempty"`

	CreatedAt *CustomTime `json:"created_at,omitempty"`

	Explicit bool `json:"explicit"`
}

type ShowOverallStatistics

type ShowOverallStatistics struct {
	Title              string `json:"title,omitempty"`
	PlaysCount         int    `json:"plays_count"`
	PlaysOndemandCount int    `json:"plays_ondemand_count"`
	PlaysLiveCount     int    `json:"plays_live_count"`
	EpisodesCount      int    `json:"episodes_count"`
	DownloadsCount     int    `json:"downloads_count"`
	LikesCount         int    `json:"likes_count"`
	Show               *Show  `json:"show,omitempty"`
}

type ShowOverallStatisticsResponse

type ShowOverallStatisticsResponse struct {
	Statistics ShowOverallStatistics `json:"statistics"`
}

type ShowPlayTotals

type ShowPlayTotals struct {
	ShowID             int    `json:"show_id"`
	Title              string `json:"title"`
	PlaysCount         int    `json:"plays_count"`
	PlaysLiveCount     int    `json:"plays_live_count"`
	PlaysOndemandCount int    `json:"plays_ondemand_count"`
	DownloadsCount     int    `json:"downloads_count"`
	IsDeleted          bool   `json:"is_deleted"`
	IsTransferred      bool   `json:"is_transferred"`
}

type ShowResponse

type ShowResponse struct {
	Show Show `json:"show"`
}

type SourceDetail

type SourceDetail map[string]interface{}

type SourceOverall

type SourceOverall struct {
	Name       string `json:"name"`
	PlaysCount int    `json:"plays_count"`
	Percentage int    `json:"percentage"`
}

type SourcesStatistics

type SourcesStatistics struct {
	Overall []SourceOverall `json:"overall"`
	Details []SourceDetail  `json:"details"`
}

type SourcesStatisticsResponse

type SourcesStatisticsResponse struct {
	Statistics SourcesStatistics `json:"statistics"`
}

type Statistics

type Statistics struct {
	Plays     int `json:"plays"`
	Downloads int `json:"downloads"`
	Likes     int `json:"likes"`
	Messages  int `json:"messages"`
}

type StatisticsResponse

type StatisticsResponse struct {
	Statistics Statistics `json:"statistics"`
}

type User

type User struct {
	UserID int `json:"user_id"`

	Fullname string `json:"fullname"`

	Username string `json:"username"`

	Description string `json:"description"`

	SiteURL string `json:"site_url"`

	ImageURL string `json:"image_url"`

	ImageOriginalURL string `json:"image_original_url"`

	Kind string `json:"kind"`

	Plan string `json:"plan"`

	FollowersCount int `json:"followers_count"`

	FollowingsCount int `json:"followings_count"`

	ContactEmail string `json:"contact_email,omitempty"`

	Gender string `json:"gender,omitempty"`

	Birthday string `json:"birthday,omitempty"`

	Location string `json:"location,omitempty"`

	LocationLatitude  float64 `json:"location_latitude,omitempty"`
	LocationLongitude float64 `json:"location_longitude,omitempty"`
}

type UserOverallStatistics

type UserOverallStatistics struct {
	PlaysCount         int   `json:"plays_count"`
	PlaysOndemandCount int   `json:"plays_ondemand_count"`
	PlaysLiveCount     int   `json:"plays_live_count"`
	ShowsCount         int   `json:"shows_count"`
	EpisodesCount      int   `json:"episodes_count"`
	LikesCount         int   `json:"likes_count"`
	DownloadsCount     int   `json:"downloads_count"`
	FollowersCount     int   `json:"followers_count"`
	User               *User `json:"user,omitempty"`
}

type UserOverallStatisticsResponse

type UserOverallStatisticsResponse struct {
	Statistics UserOverallStatistics `json:"statistics"`
}

type UserResponse

type UserResponse struct {
	User User `json:"user"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL