summaryrefslogtreecommitdiff
path: root/src/message/snapshot.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/snapshot.rs')
-rw-r--r--src/message/snapshot.rs35
1 files changed, 1 insertions, 34 deletions
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:#?}"),
}
}