use chrono::{DateTime, FixedOffset};
use serde::{Deserialize, Serialize};
use crate::{BroadcasterId, StreamId};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StreamOnline {
pub id: StreamId,
pub broadcaster_user_id: BroadcasterId,
pub broadcaster_user_login: String,
pub broadcaster_user_name: String,
#[serde(rename = "type")]
pub kind: StreamType,
pub started_at: DateTime<FixedOffset>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StreamOffline {
pub broadcaster_user_id: BroadcasterId,
pub broadcaster_user_login: String,
pub broadcaster_user_name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StreamType {
Live,
Playlist,
WatchParty,
Premiere,
Rerun,
}