use serde::{Deserialize, Serialize};
fn insert_query_param(
query: &mut std::collections::HashMap<String, String>,
key: &str,
value: &Option<String>,
) {
if let Some(value) = value.as_ref().filter(|value| !value.is_empty()) {
query.insert(key.to_string(), value.clone());
}
}
#[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 query_params(&self) -> std::collections::HashMap<String, String> {
let mut query = std::collections::HashMap::new();
insert_query_param(&mut query, "limit", &self.limit);
insert_query_param(&mut query, "cookie", &self.cookie);
query
}
}