diff options
Diffstat (limited to 'src/message')
| -rw-r--r-- | src/message/event.rs | 2 | ||||
| -rw-r--r-- | src/message/history.rs | 2 | ||||
| -rw-r--r-- | src/message/snapshot.rs | 35 |
3 files changed, 3 insertions, 36 deletions
diff --git a/src/message/event.rs b/src/message/event.rs index 66db9b0..712ecc1 100644 --- a/src/message/event.rs +++ b/src/message/event.rs @@ -55,7 +55,7 @@ pub struct Deleted { #[serde(flatten)] pub instant: Instant, pub channel: Channel, - pub message: Id, + pub id: Id, } impl Sequenced for Deleted { diff --git a/src/message/history.rs b/src/message/history.rs index f267f4c..3c3f77a 100644 --- a/src/message/history.rs +++ b/src/message/history.rs @@ -48,7 +48,7 @@ impl History { kind: Deleted { instant, channel: self.message.channel.clone(), - message: self.message.id.clone(), + id: self.message.id.clone(), } .into(), }) diff --git a/src/message/snapshot.rs b/src/message/snapshot.rs index 522c1aa..a06fbc4 100644 --- a/src/message/snapshot.rs +++ b/src/message/snapshot.rs @@ -5,7 +5,6 @@ use super::{ use crate::{channel::Channel, event::Instant, login::Login}; #[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)] -#[serde(into = "self::serialize::Message")] pub struct Message { #[serde(skip)] pub sent: Instant, @@ -15,43 +14,11 @@ pub struct Message { pub body: String, } -mod serialize { - use crate::{channel::Channel, login::Login, message::Id}; - - #[derive(serde::Serialize)] - pub struct Message { - channel: Channel, - sender: Login, - #[allow(clippy::struct_field_names)] - // Deliberately redundant with the module path; this produces a specific serialization. - message: MessageData, - } - - #[derive(serde::Serialize)] - pub struct MessageData { - id: Id, - body: String, - } - - impl From<super::Message> for Message { - fn from(message: super::Message) -> Self { - Self { - channel: message.channel, - sender: message.sender, - message: MessageData { - id: message.id, - body: message.body, - }, - } - } - } -} - impl Message { fn apply(state: Option<Self>, event: Event) -> Option<Self> { match (state, event.kind) { (None, Kind::Sent(event)) => Some(event.into()), - (Some(message), Kind::Deleted(event)) if message.id == event.message => None, + (Some(message), Kind::Deleted(event)) if message.id == event.id => None, (state, event) => panic!("invalid message event {event:#?} for state {state:#?}"), } } |
