gleetube/model/video

Types

Content rating from various rating bodies. Modeled as Dict since there are 60+ country-specific rating fields.

pub type ContentRating =
  dict.Dict(String, String)

Region restriction for a video.

pub type RegionRestriction {
  RegionRestriction(
    allowed: option.Option(List(String)),
    blocked: option.Option(List(String)),
  )
}

Constructors

A YouTube video resource.

pub type Video {
  Video(
    kind: option.Option(String),
    etag: option.Option(String),
    id: option.Option(String),
    snippet: option.Option(VideoSnippet),
    content_details: option.Option(VideoContentDetails),
    status: option.Option(VideoStatus),
    statistics: option.Option(VideoStatistics),
    topic_details: option.Option(VideoTopicDetails),
    player: option.Option(common.Player),
    recording_details: option.Option(VideoRecordingDetails),
    live_streaming_details: option.Option(
      VideoLiveStreamingDetails,
    ),
  )
}

Constructors

Video content details.

pub type VideoContentDetails {
  VideoContentDetails(
    duration: option.Option(String),
    dimension: option.Option(String),
    definition: option.Option(String),
    caption: option.Option(String),
    licensed_content: option.Option(Bool),
    region_restriction: option.Option(RegionRestriction),
    content_rating: option.Option(dict.Dict(String, String)),
    projection: option.Option(String),
    has_custom_thumbnail: option.Option(Bool),
  )
}

Constructors

Response from videos.getRating API call.

pub type VideoGetRatingResponse {
  VideoGetRatingResponse(
    kind: option.Option(String),
    etag: option.Option(String),
    items: List(VideoRatingItem),
  )
}

Constructors

Response from videos.list API call.

pub type VideoListResponse {
  VideoListResponse(
    kind: option.Option(String),
    etag: option.Option(String),
    next_page_token: option.Option(String),
    prev_page_token: option.Option(String),
    page_info: option.Option(common.PageInfo),
    items: List(Video),
  )
}

Constructors

Video live streaming details.

pub type VideoLiveStreamingDetails {
  VideoLiveStreamingDetails(
    actual_start_time: option.Option(String),
    actual_end_time: option.Option(String),
    scheduled_start_time: option.Option(String),
    scheduled_end_time: option.Option(String),
    concurrent_viewers: option.Option(String),
    active_live_chat_id: option.Option(String),
  )
}

Constructors

A single video rating item.

pub type VideoRatingItem {
  VideoRatingItem(
    video_id: option.Option(String),
    rating: option.Option(String),
  )
}

Constructors

Video recording details.

pub type VideoRecordingDetails {
  VideoRecordingDetails(recording_date: option.Option(String))
}

Constructors

Video snippet containing basic metadata.

pub type VideoSnippet {
  VideoSnippet(
    published_at: option.Option(String),
    channel_id: option.Option(String),
    title: option.Option(String),
    description: option.Option(String),
    thumbnails: option.Option(common.Thumbnails),
    channel_title: option.Option(String),
    tags: option.Option(List(String)),
    category_id: option.Option(String),
    live_broadcast_content: option.Option(String),
    default_language: option.Option(String),
    localized: option.Option(common.Localized),
    default_audio_language: option.Option(String),
  )
}

Constructors

Video statistics (counts as strings from the API).

pub type VideoStatistics {
  VideoStatistics(
    view_count: option.Option(String),
    like_count: option.Option(String),
    dislike_count: option.Option(String),
    comment_count: option.Option(String),
  )
}

Constructors

Video status information.

pub type VideoStatus {
  VideoStatus(
    upload_status: option.Option(String),
    failure_reason: option.Option(String),
    rejection_reason: option.Option(String),
    privacy_status: option.Option(String),
    publish_at: option.Option(String),
    license: option.Option(String),
    embeddable: option.Option(Bool),
    public_stats_viewable: option.Option(Bool),
    made_for_kids: option.Option(Bool),
    self_declared_made_for_kids: option.Option(Bool),
  )
}

Constructors

Video topic details.

pub type VideoTopicDetails {
  VideoTopicDetails(
    topic_ids: option.Option(List(String)),
    relevant_topic_ids: option.Option(List(String)),
    topic_categories: option.Option(List(String)),
  )
}

Constructors

Search Document