use super::reaction::Emoji;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Poll {
pub question: String,
pub answers: Vec<PollAnswerOption>,
pub expiry: String,
#[serde(default)]
pub allow_multiselect: bool,
pub layout_type: u8,
#[serde(default)]
pub results: Vec<PollResult>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PollAnswerOption {
pub answer_id: String,
pub media: Option<PollMedia>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PollMedia {
emoji: Option<Emoji>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PollResult {
#[serde(default)]
pub is_finalized: bool,
#[serde(default)]
pub answer_counts: Vec<PollAnswerCount>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PollAnswerCount {
pub id: String,
pub count: u64,
#[serde(default)]
pub me_voted: bool,
}