From 2063eeac3db1d7fa8c449c82d54b60a5aabd69c8 Mon Sep 17 00:00:00 2001 From: Paul Makles <paulmakles@gmail.com> Date: Sat, 11 Apr 2020 22:57:27 +0100 Subject: [PATCH] Delete invites when channel is deleted. --- src/routes/channel.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/routes/channel.rs b/src/routes/channel.rs index 8dbf498..c49574e 100644 --- a/src/routes/channel.rs +++ b/src/routes/channel.rs @@ -360,7 +360,28 @@ pub fn delete(user: UserRef, target: ChannelRef) -> Option<Response> { } } } - 2 => try_delete(), + 2 => { + if database::get_collection("guilds") + .update_one( + doc! { "_id": target.guild.unwrap() }, + doc! { + "$pull": { + "invites": { + "channel": &target.id + } + } + }, + None, + ) + .is_ok() + { + try_delete() + } else { + Some(Response::InternalServerError( + json!({ "error": "Failed to remove invites." }), + )) + } + } _ => Some(Response::InternalServerError( json!({ "error": "Unknown error has occurred." }), )), -- GitLab