From 1ee28e57d4db2cf8dcc2cefe99dab42de9c6ad48 Mon Sep 17 00:00:00 2001 From: Franklin Date: Thu, 9 Feb 2023 12:57:36 -0400 Subject: [PATCH] Impl default for chatmessage object line --- src/domain/chat_message.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/domain/chat_message.rs b/src/domain/chat_message.rs index eba9be0..f36aabc 100644 --- a/src/domain/chat_message.rs +++ b/src/domain/chat_message.rs @@ -9,13 +9,13 @@ use sqlx::{ /// The reasoning for this is that a chatroom can have many users /// and the backend needs to be able to tell when each of them /// has seen this message. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Default)] pub struct TimeSensitiveAction { pub time: DateTime, pub by: u32, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Default)] pub struct TimeSensitiveActionVec { pub list: Vec, } @@ -52,7 +52,7 @@ impl TimeSensitiveAction { } /// Base message for chat rooms. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, FromRow)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, FromRow, Default)] pub struct ChatMessage { pub id: u32, /// User id @@ -142,7 +142,7 @@ impl ChatSendable for ChatMessage { } /// This is what clients use to send messages (DTO) -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Default)] pub struct ChatMessageSender { pub message: ChatMessageContent, pub to: u32, @@ -158,3 +158,14 @@ pub enum BroadcastMessage { DeliveredUpdate(ChatMessage), SeenUpdate(ChatMessage), } +impl Default for BroadcastMessage { + fn default() -> Self { + Self::NewMessage(Default::default()) + } +} + +impl Default for ChatMessageContent { + fn default() -> Self { + Self::Text(Default::default()) + } +} \ No newline at end of file