summaryrefslogtreecommitdiff
path: root/src/channel/repo/messages.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/channel/repo/messages.rs')
-rw-r--r--src/channel/repo/messages.rs19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/channel/repo/messages.rs b/src/channel/repo/messages.rs
index b465f61..e15a02a 100644
--- a/src/channel/repo/messages.rs
+++ b/src/channel/repo/messages.rs
@@ -26,6 +26,7 @@ pub struct Messages<'t>(&'t mut SqliteConnection);
pub struct BroadcastMessage {
pub id: Id,
pub sender: Login,
+ pub channel: ChannelId,
pub body: String,
pub sent_at: DateTime,
}
@@ -49,6 +50,8 @@ impl<'c> Messages<'c> {
values ($1, $2, $3, $4, $5)
returning
id as "id: Id",
+ sender as "sender: LoginId",
+ channel as "channel: ChannelId",
body,
sent_at as "sent_at: DateTime"
"#,
@@ -58,11 +61,15 @@ impl<'c> Messages<'c> {
body,
sent_at,
)
- .map(|row| BroadcastMessage {
- sender: sender.clone(),
- id: row.id,
- body: row.body,
- sent_at: row.sent_at,
+ .map(|row| {
+ debug_assert!(row.sender == sender.id);
+ BroadcastMessage {
+ id: row.id,
+ sender: sender.clone(),
+ channel: row.channel,
+ body: row.body,
+ sent_at: row.sent_at,
+ }
})
.fetch_one(&mut *self.0)
.await?;
@@ -81,6 +88,7 @@ impl<'c> Messages<'c> {
message.id as "id: Id",
login.id as "sender_id: LoginId",
login.name as sender_name,
+ message.channel as "channel: ChannelId",
message.body,
message.sent_at as "sent_at: DateTime"
from message
@@ -98,6 +106,7 @@ impl<'c> Messages<'c> {
id: row.sender_id,
name: row.sender_name,
},
+ channel: row.channel,
body: row.body,
sent_at: row.sent_at,
})