summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/api.md10
-rw-r--r--src/channel/routes/test/on_send.rs2
-rw-r--r--src/events/repo/message.rs12
-rw-r--r--src/events/types.rs3
-rw-r--r--src/repo/message.rs6
5 files changed, 22 insertions, 11 deletions
diff --git a/docs/api.md b/docs/api.md
index c5ee34a..9d803ad 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -167,19 +167,18 @@ The returned event stream is a sequence of events:
```json
id: 1233
data: {
-data: "type": "created"
+data: "type": "created",
data: "at": "2024-09-27T23:18:10.208147Z",
data: "channel": {
data: "id": "C9876cyyz",
data: "name": "example channel 2"
-data: },
+data: }
data: }
id: 1234
data: {
data: "type": "message",
data: "at": "2024-09-27T23:19:10.208147Z",
-data: "id": "Mxnjcf3y41prfry9",
data: "channel": {
data: "id": "C9876cyyz",
data: "name": "example channel 2"
@@ -188,6 +187,9 @@ data: "sender": {
data: "id": "L1234abcd",
data: "name": "example username"
data: },
-data: "body": "beep"
+data: "message": {
+data: "id": "Mxnjcf3y41prfry9",
+data: "body": "beep"
+data: }
data: }
```
diff --git a/src/channel/routes/test/on_send.rs b/src/channel/routes/test/on_send.rs
index e4de0f1..20ae016 100644
--- a/src/channel/routes/test/on_send.rs
+++ b/src/channel/routes/test/on_send.rs
@@ -57,7 +57,7 @@ async fn messages_in_order() {
event.data,
types::ChannelEventData::Message(event_message)
if event_message.sender == sender
- && event_message.body == message
+ && event_message.message.body == message
));
}
}
diff --git a/src/events/repo/message.rs b/src/events/repo/message.rs
index b4724ea..ec17d55 100644
--- a/src/events/repo/message.rs
+++ b/src/events/repo/message.rs
@@ -58,9 +58,11 @@ impl<'c> Events<'c> {
at: row.sent_at,
channel: channel.clone(),
data: types::MessageEvent {
- id: row.id,
sender: sender.clone(),
- body: row.body,
+ message: message::Message {
+ id: row.id,
+ body: row.body,
+ },
}
.into(),
})
@@ -128,12 +130,14 @@ impl<'c> Events<'c> {
at: row.sent_at,
channel: channel.clone(),
data: types::MessageEvent {
- id: row.id,
sender: login::Login {
id: row.sender_id,
name: row.sender_name,
},
- body: row.body,
+ message: message::Message {
+ id: row.id,
+ body: row.body,
+ },
}
.into(),
})
diff --git a/src/events/types.rs b/src/events/types.rs
index 7c0e0a4..944321a 100644
--- a/src/events/types.rs
+++ b/src/events/types.rs
@@ -123,9 +123,8 @@ pub enum ChannelEventData {
#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
pub struct MessageEvent {
- pub id: message::Id,
pub sender: Login,
- pub body: String,
+ pub message: message::Message,
}
impl From<MessageEvent> for ChannelEventData {
diff --git a/src/repo/message.rs b/src/repo/message.rs
index 385b103..a1f73d5 100644
--- a/src/repo/message.rs
+++ b/src/repo/message.rs
@@ -25,3 +25,9 @@ impl fmt::Display for Id {
self.0.fmt(f)
}
}
+
+#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
+pub struct Message {
+ pub id: Id,
+ pub body: String,
+}