From efc3794f3d6c3b09e5c57e1423c8af1b5931afc2 Mon Sep 17 00:00:00 2001
From: Paul <paulmakles@gmail.com>
Date: Mon, 3 May 2021 20:48:37 +0100
Subject: [PATCH] Emergency patch; Rust MDB driver deletes doc. with empty
 update.

---
 set_version.sh                      | 2 +-
 src/routes/channels/edit_channel.rs | 4 ++++
 src/routes/users/edit_user.rs       | 4 ++++
 src/version.rs                      | 2 +-
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/set_version.sh b/set_version.sh
index d510495..f1ba005 100755
--- a/set_version.sh
+++ b/set_version.sh
@@ -1,3 +1,3 @@
 #!/bin/bash
-export version=0.4.1-alpha.7
+export version=0.4.1-alpha.7-patch.0
 echo "pub const VERSION: &str = \"${version}\";" > src/version.rs
diff --git a/src/routes/channels/edit_channel.rs b/src/routes/channels/edit_channel.rs
index 4c680e1..8271020 100644
--- a/src/routes/channels/edit_channel.rs
+++ b/src/routes/channels/edit_channel.rs
@@ -26,6 +26,10 @@ pub async fn req(user: User, target: Ref, data: Json<Data>) -> Result<()> {
     data.validate()
         .map_err(|error| Error::FailedValidation { error })?;
 
+    if data.name.is_none() || data.description.is_none() || data.icon.is_none() || data.remove.is_none() {
+        return Ok(())
+    }
+
     let target = target.fetch_channel().await?;
     let perm = permissions::PermissionCalculator::new(&user)
         .with_channel(&target)
diff --git a/src/routes/users/edit_user.rs b/src/routes/users/edit_user.rs
index f240a57..54747a3 100644
--- a/src/routes/users/edit_user.rs
+++ b/src/routes/users/edit_user.rs
@@ -35,6 +35,10 @@ pub async fn req(user: User, data: Json<Data>, _ignore_id: String) -> Result<()>
     data.validate()
         .map_err(|error| Error::FailedValidation { error })?;
 
+    if data.status.is_none() || data.profile.is_none() || data.avatar.is_none() || data.remove.is_none() {
+        return Ok(())
+    }
+
     let mut unset = doc! {};
     let mut set = doc! {};
 
diff --git a/src/version.rs b/src/version.rs
index 008c120..4611a2e 100644
--- a/src/version.rs
+++ b/src/version.rs
@@ -1 +1 @@
-pub const VERSION: &str = "0.4.1-alpha.6";
+pub const VERSION: &str = "0.4.1-alpha.7-patch.0";
-- 
GitLab