summaryrefslogtreecommitdiff
path: root/src/event/repo/message.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/repo/message.rs')
-rw-r--r--src/event/repo/message.rs42
1 files changed, 25 insertions, 17 deletions
diff --git a/src/event/repo/message.rs b/src/event/repo/message.rs
index f051fec..f29c8a4 100644
--- a/src/event/repo/message.rs
+++ b/src/event/repo/message.rs
@@ -3,7 +3,7 @@ use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction};
use crate::{
channel::{self, Channel},
clock::DateTime,
- event::{types, Sequence},
+ event::{types, Instant, Sequence},
login::{self, Login},
message::{self, Message},
};
@@ -25,8 +25,7 @@ impl<'c> Events<'c> {
&mut self,
sender: &Login,
channel: &Channel,
- sent_at: &DateTime,
- sent_sequence: Sequence,
+ sent: &Instant,
body: &str,
) -> Result<types::ChannelEvent, sqlx::Error> {
let id = message::Id::generate();
@@ -46,13 +45,15 @@ impl<'c> Events<'c> {
id,
channel.id,
sender.id,
- sent_at,
- sent_sequence,
+ sent.at,
+ sent.sequence,
body,
)
.map(|row| types::ChannelEvent {
- sequence: row.sent_sequence,
- at: row.sent_at,
+ instant: Instant {
+ at: row.sent_at,
+ sequence: row.sent_sequence,
+ },
data: types::MessageEvent {
channel: channel.clone(),
sender: sender.clone(),
@@ -73,8 +74,7 @@ impl<'c> Events<'c> {
&mut self,
channel: &Channel,
message: &message::Id,
- deleted_at: &DateTime,
- deleted_sequence: Sequence,
+ deleted: &Instant,
) -> Result<types::ChannelEvent, sqlx::Error> {
sqlx::query_scalar!(
r#"
@@ -88,8 +88,10 @@ impl<'c> Events<'c> {
.await?;
Ok(types::ChannelEvent {
- sequence: deleted_sequence,
- at: *deleted_at,
+ instant: Instant {
+ at: deleted.at,
+ sequence: deleted.sequence,
+ },
data: types::MessageDeletedEvent {
channel: channel.clone(),
message: message.clone(),
@@ -122,8 +124,10 @@ impl<'c> Events<'c> {
Channel {
id: row.channel_id,
name: row.channel_name,
- created_at: row.channel_created_at,
- created_sequence: row.channel_created_sequence,
+ created: Instant {
+ at: row.channel_created_at,
+ sequence: row.channel_created_sequence,
+ },
},
row.message,
)
@@ -160,14 +164,18 @@ impl<'c> Events<'c> {
resume_at,
)
.map(|row| types::ChannelEvent {
- sequence: row.sent_sequence,
- at: row.sent_at,
+ instant: Instant {
+ at: row.sent_at,
+ sequence: row.sent_sequence,
+ },
data: types::MessageEvent {
channel: Channel {
id: row.channel_id,
name: row.channel_name,
- created_at: row.channel_created_at,
- created_sequence: row.channel_created_sequence,
+ created: Instant {
+ at: row.channel_created_at,
+ sequence: row.channel_created_sequence,
+ },
},
sender: Login {
id: row.sender_id,