use serde::{Deserialize, Serialize};
use crate::{field_access, impl_default, impl_display};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UnreadMsgsPm {
#[serde(skip_serializing_if = "Option::is_none")]
other_user_id: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
sender_id: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
unread_message_ids: Option<Vec<u64>>,
}
impl UnreadMsgsPm {
pub fn new() -> Self {
Self {
other_user_id: None,
sender_id: None,
unread_message_ids: None,
}
}
}
field_access! {
UnreadMsgsPm {
other_user_id: option { u64 },
sender_id: option { u64 },
}
}
field_access! {
UnreadMsgsPm {
unread_message_ids: option_cow_deref { [u64], Vec<u64> },
}
}
impl_default!(UnreadMsgsPm);
impl_display!(UnreadMsgsPm);