Agentbot as assignee
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
class Api::V1::Accounts::Conversations::AssignmentsController < Api::V1::Accounts::Conversations::BaseController
|
||||
# assigns agent/team to a conversation
|
||||
# assigns agent/team/bot to a conversation
|
||||
def create
|
||||
if params.key?(:assignee_id)
|
||||
set_agent
|
||||
set_assignee
|
||||
elsif params.key?(:team_id)
|
||||
set_team
|
||||
else
|
||||
@@ -12,18 +12,26 @@ class Api::V1::Accounts::Conversations::AssignmentsController < Api::V1::Account
|
||||
|
||||
private
|
||||
|
||||
def set_agent
|
||||
@agent = Current.account.users.find_by(id: params[:assignee_id])
|
||||
@conversation.assignee = @agent
|
||||
def set_assignee
|
||||
@assignee = case params[:assignee_type]
|
||||
when 'AgentBot'
|
||||
Current.account.agent_bots.find_by(id: params[:assignee_id])
|
||||
else
|
||||
Current.account.users.find_by(id: params[:assignee_id])
|
||||
end
|
||||
|
||||
@conversation.assignee = @assignee
|
||||
@conversation.save!
|
||||
render_agent
|
||||
render_assignee
|
||||
end
|
||||
|
||||
def render_agent
|
||||
if @agent.nil?
|
||||
def render_assignee
|
||||
if @assignee.nil?
|
||||
render json: nil
|
||||
elsif @assignee.is_a?(AgentBot)
|
||||
render json: @assignee.webhook_data
|
||||
else
|
||||
render partial: 'api/v1/models/agent', formats: [:json], locals: { resource: @agent }
|
||||
render partial: 'api/v1/models/agent', formats: [:json], locals: { resource: @assignee }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user