DEV: adds a :chat_thread_created trigger (#24133)

Usage:

```ruby
DiscourseEvent.on(:chat_thread_created) do |thread|
end
```
This commit is contained in:
Joffrey JAFFEUX 2023-10-27 10:27:34 +02:00 committed by GitHub
parent 8465324168
commit db880d8ed7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -26,6 +26,7 @@ module Chat
step :associate_thread_to_message
step :fetch_membership
step :publish_new_thread
step :trigger_chat_thread_created_event
end
# @!visibility private
@ -84,5 +85,9 @@ module Chat
def publish_new_thread(channel:, original_message:, **)
::Chat::Publisher.publish_thread_created!(channel, original_message, context.thread.id)
end
def trigger_chat_thread_created_event
::DiscourseEvent.trigger(:chat_thread_created, context.thread)
end
end
end

View File

@ -51,6 +51,12 @@ RSpec.describe Chat::CreateThread do
expect(message.data["type"]).to eq("thread_created")
end
it "triggers a discourse event `chat_thread_created`" do
event = DiscourseEvent.track_events(:chat_thread_created) { result }.first
expect(event[:params][0]).to eq(result.thread)
end
it "sets the title when existing" do
params[:title] = "Restaurant for Saturday"
result