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:
Sojan Jose
2021-01-07 13:47:38 +05:30
committed by GitHub
parent 64b0d48dbf
commit 7884090551
6 changed files with 48 additions and 1 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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