summaryrefslogtreecommitdiff
path: root/src/boot/app.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-06-20 19:47:46 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-06-20 22:42:55 -0400
commit7778cdf0c495a04f4f5f3f85b78348c8037a5771 (patch)
treebd0e00d36ab1863f5609a3c0ee8936782ae794ca /src/boot/app.rs
parent639f4b422adb0a6fc809161dd816d8382cf88138 (diff)
Remove the snapshot fields from `/api/boot`.
Clients now _must_ construct their state from the event stream; it is no longer possible for them to delegate that work to the server.
Diffstat (limited to 'src/boot/app.rs')
-rw-r--r--src/boot/app.rs30
1 files changed, 6 insertions, 24 deletions
diff --git a/src/boot/app.rs b/src/boot/app.rs
index 690bcf4..89eec12 100644
--- a/src/boot/app.rs
+++ b/src/boot/app.rs
@@ -23,42 +23,27 @@ impl<'a> Boot<'a> {
let mut tx = self.db.begin().await?;
let resume_point = tx.sequence().current().await?;
- let user_histories = tx.users().all(resume_point).await?;
- let channel_histories = tx.channels().all(resume_point).await?;
- let message_histories = tx.messages().all(resume_point).await?;
+ let users = tx.users().all(resume_point).await?;
+ let channels = tx.channels().all(resume_point).await?;
+ let messages = tx.messages().all(resume_point).await?;
tx.commit().await?;
- let users = user_histories
- .iter()
- .filter_map(|user| user.as_of(resume_point))
- .collect();
-
- let channels = channel_histories
- .iter()
- .filter_map(|channel| channel.as_of(resume_point))
- .collect();
-
- let messages = message_histories
- .iter()
- .filter_map(|message| message.as_of(resume_point))
- .collect();
-
- let user_events = user_histories
+ let user_events = users
.iter()
.map(user::History::events)
.kmerge_by(Sequence::merge)
.filter(Sequence::up_to(resume_point))
.map(Event::from);
- let channel_events = channel_histories
+ let channel_events = channels
.iter()
.map(channel::History::events)
.kmerge_by(Sequence::merge)
.filter(Sequence::up_to(resume_point))
.map(Event::from);
- let message_events = message_histories
+ let message_events = messages
.iter()
.map(message::History::events)
.kmerge_by(Sequence::merge)
@@ -72,9 +57,6 @@ impl<'a> Boot<'a> {
Ok(Snapshot {
resume_point,
- users,
- channels,
- messages,
events,
})
}