use crate::models::Pager;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct MessageReactionPager {
#[serde(skip_serializing_if = "Option::is_none")]
pub cookie: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<String>,
}
impl MessageReactionPager {
pub fn new(cookie: Option<impl Into<String>>, limit: Option<impl ToString>) -> Self {
Self {
cookie: cookie.map(Into::into),
limit: limit.map(|value| value.to_string()),
}
}
pub fn query_params(&self) -> std::collections::HashMap<String, String> {
let mut query = std::collections::HashMap::new();
if let Some(limit) = &self.limit {
query.insert("limit".to_string(), limit.clone());
}
if let Some(cookie) = &self.cookie {
query.insert("cookie".to_string(), cookie.clone());
}
query
}
#[allow(non_snake_case)]
pub fn QueryParams(&self) -> std::collections::HashMap<String, String> {
self.query_params()
}
}
impl Pager for MessageReactionPager {
fn query_params(&self) -> std::collections::HashMap<String, String> {
MessageReactionPager::query_params(self)
}
}