use crate::models::serde_helpers::option_is_none_or_default;
use serde::{Deserialize, Serialize};
use super::SendType;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct RichMediaMessage {
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub event_id: Option<String>,
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub file_type: Option<u64>,
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub url: Option<String>,
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub srv_send_msg: Option<bool>,
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub content: Option<String>,
#[serde(skip_serializing_if = "option_is_none_or_default")]
pub msg_seq: Option<i64>,
}
impl RichMediaMessage {
pub fn new(file_type: u64, url: impl Into<String>) -> Self {
Self {
file_type: Some(file_type),
url: Some(url.into()),
..Default::default()
}
}
pub const fn send_type(&self) -> SendType {
SendType::RichMedia
}
#[allow(non_snake_case)]
pub const fn GetEventID(&self) -> &str {
""
}
#[allow(non_snake_case)]
pub const fn GetSendType(&self) -> SendType {
self.send_type()
}
}