use crate::models::user::User;
use serde::{Deserialize, Serialize};
use serde_json::Value;
pub type ReactionUser = User;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReactionUsers {
#[serde(default)]
pub users: Vec<User>,
pub cookie: Option<String>,
#[serde(default)]
pub is_end: bool,
}
pub type MessageReactionUsers = ReactionUsers;
impl ReactionUsers {
pub fn new(data: &Value) -> crate::Result<Self> {
Ok(serde_json::from_value(data.clone())?)
}
pub fn has_more_pages(&self) -> bool {
!self.is_end
}
pub fn user_count(&self) -> usize {
self.users.len()
}
}