#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Message {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "userId")]
pub user_id: uuid::Uuid,
#[serde(rename = "channelId")]
pub channel_id: uuid::Uuid,
#[serde(rename = "content")]
pub content: String,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "pinned")]
pub pinned: bool,
#[serde(rename = "stamps")]
pub stamps: Vec<crate::models::MessageStamp>,
#[serde(rename = "threadId", deserialize_with = "Option::deserialize")]
pub thread_id: Option<uuid::Uuid>,
}
impl Message {
pub fn new(
id: uuid::Uuid,
user_id: uuid::Uuid,
channel_id: uuid::Uuid,
content: String,
created_at: String,
updated_at: String,
pinned: bool,
stamps: Vec<crate::models::MessageStamp>,
thread_id: Option<uuid::Uuid>,
) -> Message {
Message {
id,
user_id,
channel_id,
content,
created_at,
updated_at,
pinned,
stamps,
thread_id,
}
}
}