use chrono::{NaiveDateTime, Utc}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct ChatMessage { pub sender_id: u32, pub content: String, pub timestamp: NaiveDateTime, } impl ChatMessage { pub fn new(sender_id: u32, content: String) -> Self { Self { sender_id, content, timestamp: Utc::now().naive_utc(), } } }