elif_http/websocket/channel/
message.rs1use super::super::types::{ConnectionId, WebSocketMessage};
4use super::types::ChannelId;
5use serde::{Deserialize, Serialize};
6use std::time::SystemTime;
7use uuid::Uuid;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct ChannelMessage {
12 pub id: Uuid,
13 pub channel_id: ChannelId,
14 pub sender_id: ConnectionId,
15 pub content: WebSocketMessage,
16 pub timestamp: SystemTime,
17 pub sender_nickname: Option<String>,
18}
19
20impl ChannelMessage {
21 pub fn new(
23 channel_id: ChannelId,
24 sender_id: ConnectionId,
25 content: WebSocketMessage,
26 sender_nickname: Option<String>,
27 ) -> Self {
28 Self {
29 id: Uuid::new_v4(),
30 channel_id,
31 sender_id,
32 content,
33 timestamp: SystemTime::now(),
34 sender_nickname,
35 }
36 }
37}