From 653e2de752a97e377fc9963ba60d9408e7089528 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Tue, 8 Oct 2024 22:10:04 -0400 Subject: Flatten nested `channel` and `message` structs in events and API responses. This structure didn't accomplish anything and made certain refactorings harder. --- src/message/snapshot.rs | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) (limited to 'src/message/snapshot.rs') 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 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, event: Event) -> Option { 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:#?}"), } } -- cgit v1.2.3