summaryrefslogtreecommitdiff
path: root/src/message/mod.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-02 12:25:36 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-03 19:25:41 -0400
commitec804134c33aedb001c426c5f42f43f53c47848f (patch)
treec62b59ab5cdd438f47a5f9cc35fdc712d362af19 /src/message/mod.rs
parent469613872f6fb19f4579b387e19b2bc38fa52f51 (diff)
Represent channels and messages using a split "History" and "Snapshot" model.
This separates the code that figures out what happened to an entity from the code that represents it to a user, and makes it easier to compute a snapshot at a point in time (for things like bootstrap). It also makes the internal logic a bit easier to follow, since it's easier to tell whether you're working with a point in time or with the whole recorded history. This hefty.
Diffstat (limited to 'src/message/mod.rs')
-rw-r--r--src/message/mod.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/message/mod.rs b/src/message/mod.rs
index 9a9bf14..52d56c1 100644
--- a/src/message/mod.rs
+++ b/src/message/mod.rs
@@ -1,9 +1,8 @@
+pub mod app;
+pub mod event;
+mod history;
mod id;
+pub mod repo;
+mod snapshot;
-pub use self::id::Id;
-
-#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
-pub struct Message {
- pub id: Id,
- pub body: String,
-}
+pub use self::{event::Event, history::History, id::Id, snapshot::Message};