From 984017eb618b23b0232aa3c421c1b120331ccc4b Mon Sep 17 00:00:00 2001
From: Paul Makles <paulmakles@gmail.com>
Date: Tue, 19 Jan 2021 20:18:29 +0000
Subject: [PATCH] Revert tag change, update partials to include ids.

---
 src/database/entities/channel.rs | 11 +++++------
 src/database/entities/message.rs |  9 ++++-----
 src/notifications/events.rs      | 10 ++++++++--
 3 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/src/database/entities/channel.rs b/src/database/entities/channel.rs
index 4c8d69e..f790699 100644
--- a/src/database/entities/channel.rs
+++ b/src/database/entities/channel.rs
@@ -6,7 +6,7 @@ use rocket_contrib::json::JsonValue;
 use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize, Debug, Clone)]
-#[serde(tag = "channel_type")]
+#[serde(tag = "type")]
 pub enum Channel {
     SavedMessages {
         #[serde(rename = "_id")]
@@ -64,12 +64,11 @@ impl Channel {
         Ok(())
     }
 
-    pub async fn publish_update(&self, partial: JsonValue) -> Result<()> {
+    pub async fn publish_update(&self, data: JsonValue) -> Result<()> {
         let id = self.id().to_string();
-        ClientboundNotification::ChannelUpdate(partial)
-            .publish(id)
-            .await
-            .ok();
+        ClientboundNotification::ChannelUpdate {
+            id: id.clone(), data
+        }.publish(id).await.ok();
 
         Ok(())
     }
diff --git a/src/database/entities/message.rs b/src/database/entities/message.rs
index e48775c..f03e29d 100644
--- a/src/database/entities/message.rs
+++ b/src/database/entities/message.rs
@@ -53,12 +53,11 @@ impl Message {
         Ok(())
     }
 
-    pub async fn publish_update(&self, partial: JsonValue) -> Result<()> {
+    pub async fn publish_update(&self, data: JsonValue) -> Result<()> {
         let channel = self.channel.clone();
-        ClientboundNotification::MessageUpdate(partial)
-            .publish(channel)
-            .await
-            .ok();
+        ClientboundNotification::MessageUpdate {
+            id: self.id.clone(), data
+        }.publish(channel).await.ok();
 
         Ok(())
     }
diff --git a/src/notifications/events.rs b/src/notifications/events.rs
index f370af8..b1df740 100644
--- a/src/notifications/events.rs
+++ b/src/notifications/events.rs
@@ -39,13 +39,19 @@ pub enum ClientboundNotification {
     },
 
     Message(Message),
-    MessageUpdate(JsonValue),
+    MessageUpdate {
+        id: String,
+        data: JsonValue
+    },
     MessageDelete {
         id: String,
     },
 
     ChannelCreate(Channel),
-    ChannelUpdate(JsonValue),
+    ChannelUpdate {
+        id: String,
+        data: JsonValue
+    },
     ChannelGroupJoin {
         id: String,
         user: String,
-- 
GitLab