chore: Add attachments key to message_created webhook payload (#5659)
- Add attachments key to `message_created` webhook payload
This commit is contained in:
@@ -54,7 +54,7 @@ class WebhookListener < BaseListener
|
||||
private
|
||||
|
||||
def deliver_account_webhooks(payload, inbox)
|
||||
inbox.account.webhooks.account.each do |webhook|
|
||||
inbox.account.webhooks.account_type.each do |webhook|
|
||||
next unless webhook.subscriptions.include?(payload[:event])
|
||||
|
||||
WebhookJob.perform_later(webhook.url, payload)
|
||||
|
||||
@@ -116,7 +116,7 @@ class Message < ApplicationRecord
|
||||
end
|
||||
|
||||
def webhook_data
|
||||
{
|
||||
data = {
|
||||
account: account.webhook_data,
|
||||
additional_attributes: additional_attributes,
|
||||
content_attributes: content_attributes,
|
||||
@@ -131,6 +131,8 @@ class Message < ApplicationRecord
|
||||
sender: sender.try(:webhook_data),
|
||||
source_id: source_id
|
||||
}
|
||||
data.merge!(attachments: attachments.map(&:push_event_data)) if attachments.present?
|
||||
data
|
||||
end
|
||||
|
||||
def content
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# id :bigint not null, primary key
|
||||
# subscriptions :jsonb
|
||||
# url :string
|
||||
# webhook_type :integer default("account")
|
||||
# webhook_type :integer default("account_type")
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# account_id :integer
|
||||
@@ -23,7 +23,7 @@ class Webhook < ApplicationRecord
|
||||
validates :account_id, presence: true
|
||||
validates :url, uniqueness: { scope: [:account_id] }, format: URI::DEFAULT_PARSER.make_regexp(%w[http https])
|
||||
validate :validate_webhook_subscriptions
|
||||
enum webhook_type: { account: 0, inbox: 1 }
|
||||
enum webhook_type: { account_type: 0, inbox_type: 1 }
|
||||
|
||||
ALLOWED_WEBHOOK_EVENTS = %w[conversation_status_changed conversation_updated conversation_created message_created message_updated
|
||||
webwidget_triggered].freeze
|
||||
|
||||
Reference in New Issue
Block a user