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.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/message/snapshot.rs b/src/message/snapshot.rs
index 12d4daa..19a98a3 100644
--- a/src/message/snapshot.rs
+++ b/src/message/snapshot.rs
@@ -2,7 +2,8 @@ use super::{
Body, Id,
event::{Event, Sent},
};
-use crate::{clock::DateTime, conversation, event::Instant, user};
+use crate::{conversation, event::Instant, user};
+use serde_with::with_prefix;
#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
pub struct Message {
@@ -12,10 +13,16 @@ pub struct Message {
pub sender: user::Id,
pub id: Id,
pub body: Body,
- #[serde(skip_serializing_if = "Option::is_none")]
- pub deleted_at: Option<DateTime>,
+ #[serde(
+ flatten,
+ with = "prefix_deleted",
+ skip_serializing_if = "Option::is_none"
+ )]
+ pub deleted: Option<Instant>,
}
+with_prefix!(prefix_deleted "deleted_");
+
impl Message {
fn apply(state: Option<Self>, event: Event) -> Option<Self> {
match (state, event) {