use crate::models::payloads::{
APIBasePoll, APIBasePollAnswer, APIMessage, APIPollDefaults, APIUser,
};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct RESTGetAPIPollAnswerVotersQuery {
#[serde(skip_serializing_if = "Option::is_none")]
pub after: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<u16>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct RESTAPIPoll {
#[serde(flatten)]
pub base: APIBasePoll,
#[serde(flatten, skip_serializing_if = "Option::is_none")]
pub defaults: Option<APIPollDefaults>,
pub answers: Vec<APIBasePollAnswer>,
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<u32>,
}
pub type RESTAPIPollCreate = RESTAPIPoll;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct RESTGetAPIPollAnswerVotersResult {
pub users: Vec<APIUser>,
}
pub type RESTPostAPIPollExpireResult = APIMessage;