chore: Enable updating conversation additional attributes (#1611)
- Enable updating additional attributes via conversation API - Handle the case when additional_attributes is nil Fixes: #1357
This commit is contained in:
@@ -86,7 +86,8 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
|
||||
account_id: Current.account.id,
|
||||
inbox_id: @contact_inbox.inbox_id,
|
||||
contact_id: @contact_inbox.contact_id,
|
||||
contact_inbox_id: @contact_inbox.id
|
||||
contact_inbox_id: @contact_inbox.id,
|
||||
additional_attributes: params[:additional_attributes]
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@@ -54,6 +54,8 @@ class Api::V1::Widget::MessagesController < Api::V1::Widget::BaseController
|
||||
end
|
||||
|
||||
def conversation_params
|
||||
# FIXME: typo referrer in additional attributes
|
||||
# will probably require a migration.
|
||||
{
|
||||
account_id: inbox.account_id,
|
||||
inbox_id: inbox.id,
|
||||
|
||||
@@ -36,6 +36,7 @@ class Conversation < ApplicationRecord
|
||||
|
||||
validates :account_id, presence: true
|
||||
validates :inbox_id, presence: true
|
||||
before_validation :validate_additional_attributes
|
||||
|
||||
enum status: { open: 0, resolved: 1, bot: 2 }
|
||||
|
||||
@@ -136,6 +137,10 @@ class Conversation < ApplicationRecord
|
||||
|
||||
private
|
||||
|
||||
def validate_additional_attributes
|
||||
self.additional_attributes = {} unless additional_attributes.is_a?(Hash)
|
||||
end
|
||||
|
||||
def set_bot_conversation
|
||||
self.status = :bot if inbox.agent_bot_inbox&.active?
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user