trabajo-afectivo/lib/sessions/event/chat_agent_state.rb

32 lines
633 B
Ruby
Raw Normal View History

class Sessions::Event::ChatAgentState < Sessions::Event::ChatBase
2015-11-10 14:01:04 +00:00
def run
2015-11-10 14:01:04 +00:00
# only agents can do this
chat_id = 1
chat = Chat.find_by(id: chat_id)
if !@session['id']
2015-11-10 14:01:04 +00:00
return {
event: 'chat_agent_state',
data: {
state: 'failed',
message: 'No such user_id.'
},
}
end
Chat::Agent.state(@session['id'], @data['data']['active'])
2015-11-10 14:01:04 +00:00
2015-11-15 10:01:48 +00:00
# broadcast new state to agents
broadcast_agent_state_update(@session['id'])
2015-11-10 14:01:04 +00:00
{
event: 'chat_agent_state',
data: {
state: 'ok',
active: @data['data']['active'],
2015-11-10 14:01:04 +00:00
},
}
end
end