chore: Conversation custom attribute APIs (#3024)

This commit is contained in:
Muhsin Keloth
2021-09-22 10:46:48 +05:30
committed by GitHub
parent dddab0bbce
commit 0c24df96a8
9 changed files with 56 additions and 2 deletions

View File

@@ -72,6 +72,11 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
@conversation.save!
end
def custom_attributes
@conversation.custom_attributes = params.permit(custom_attributes: {})[:custom_attributes]
@conversation.save!
end
private
def set_conversation_status
@@ -112,6 +117,7 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
def conversation_params
additional_attributes = params[:additional_attributes]&.permit! || {}
custom_attributes = params[:custom_attributes]&.permit! || {}
status = params[:status].present? ? { status: params[:status] } : {}
# TODO: temporary fallback for the old bot status in conversation, we will remove after couple of releases
@@ -122,6 +128,7 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
contact_id: @contact_inbox.contact_id,
contact_inbox_id: @contact_inbox.id,
additional_attributes: additional_attributes,
custom_attributes: custom_attributes,
snoozed_until: params[:snoozed_until]
}.merge(status)
end

View File

@@ -6,6 +6,7 @@
# additional_attributes :jsonb
# agent_last_seen_at :datetime
# contact_last_seen_at :datetime
# custom_attributes :jsonb
# identifier :string
# last_activity_at :datetime not null
# snoozed_until :datetime

View File

@@ -0,0 +1 @@
json.custom_attributes @conversation.custom_attributes

View File

@@ -33,5 +33,6 @@ json.contact_last_seen_at conversation.contact_last_seen_at.to_i
json.agent_last_seen_at conversation.agent_last_seen_at.to_i
json.unread_count conversation.unread_incoming_messages.count
json.additional_attributes conversation.additional_attributes
json.custom_attributes conversation.custom_attributes
json.account_id conversation.account_id
json.labels conversation.label_list