From 5ec96613dfddff30a9c873541dd849b0dc304997 Mon Sep 17 00:00:00 2001 From: Molly Struve Date: Mon, 9 Mar 2020 20:04:40 -0400 Subject: [PATCH] dont delete chat channel memberships multiple times (#6556) --- app/services/users/cleanup_chat_channels.rb | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/app/services/users/cleanup_chat_channels.rb b/app/services/users/cleanup_chat_channels.rb index 7b617860c..a9c71d8c6 100644 --- a/app/services/users/cleanup_chat_channels.rb +++ b/app/services/users/cleanup_chat_channels.rb @@ -3,18 +3,10 @@ module Users def self.call(user) # We only destroy direct message channels, not open and invite-only ones direct_channels = user.chat_channels.where(channel_type: "direct") - direct_channels.each do |direct_channel| - cleanup_memberships(direct_channel.chat_channel_memberships) - direct_channel.destroy! - end + direct_channels.each(&:destroy!) # Clean up the banished user's remaining channel memberships - cleanup_memberships(user.chat_channel_memberships) + user.reload.chat_channel_memberships.each(&:destroy!) end - - def self.cleanup_memberships(chat_channel_memberships) - chat_channel_memberships.each(&:destroy!) - end - private_class_method :cleanup_memberships end end