Skip to content

Commit 58d14b0

Browse files
authored
FEATURE: trigger an event when chat channel is trashed (#32844)
Required for this PR: discourse/discourse-livestream#55
1 parent 93e1ba3 commit 58d14b0

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

plugins/chat/app/services/chat/trash_channel.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def prevents_slug_collision(channel:)
5757

5858
def soft_delete_channel(guardian:, channel:)
5959
channel.trash!(guardian.user)
60+
DiscourseEvent.trigger(:chat_channel_trashed, channel, guardian.user)
6061
end
6162

6263
def log_channel_deletion(guardian:, channel:)

plugins/chat/spec/services/chat/trash_channel_spec.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,15 @@
5454
expect(result[:channel].slug).to include("deleted")
5555
end
5656

57+
it "triggers the chat_channel_trashed event" do
58+
DiscourseEvent.expects(:trigger).with(
59+
"chat_channel_trashed",
60+
result[:channel],
61+
current_user,
62+
)
63+
result
64+
end
65+
5766
it "queues a job to delete channel relations" do
5867
expect { result }.to change(Jobs::Chat::ChannelDelete.jobs, :size).by(1)
5968
end

0 commit comments

Comments
 (0)