use std::collections::HashMap;
use time::OffsetDateTime;
pub mod stop;
#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct WatchableChannel {
pub id: String,
pub resource_id: String,
pub resource_uri: String,
pub token: String,
#[serde(default, with = "time::serde::rfc3339::option")]
pub expiration: Option<OffsetDateTime>,
pub r#type: String,
pub address: String,
pub params: HashMap<String, String>,
pub payload: bool,
}
#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Channel {
pub channel_id: String,
pub resource_id: String,
pub push_url: String,
pub subscriber_email: String,
#[serde(default, with = "time::serde::rfc3339::option")]
pub creation_time: Option<OffsetDateTime>,
}