From 4c4eb60cdbdc741d0dfd106dc4aaece35fc04cfd Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Tue, 14 Jun 2022 17:27:15 +0100 Subject: [PATCH] fix: don't allow members to be added more than once fixes #182 --- crates/quark/src/impl/generic/channels/channel.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/quark/src/impl/generic/channels/channel.rs b/crates/quark/src/impl/generic/channels/channel.rs index 68461f02..8c139071 100644 --- a/crates/quark/src/impl/generic/channels/channel.rs +++ b/crates/quark/src/impl/generic/channels/channel.rs @@ -242,7 +242,12 @@ impl Channel { /// Add user to a group pub async fn add_user_to_group(&mut self, db: &Database, user: &str, by: &str) -> Result<()> { if let Channel::Group { recipients, .. } = self { - recipients.push(user.to_string()); + let user = user.to_string(); + if recipients.contains(&user) { + return Err(Error::AlreadyInGroup); + } + + recipients.push(user); } match &self {