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

39 lines
737 B
Ruby
Raw Normal View History

2015-11-10 14:01:04 +00:00
class Sessions::Event::ChatAgentState
def self.run(data, session, _client_id)
# check if feature is enabled
if !Setting.get('chat')
return {
event: 'chat_agent_state',
data: {
state: 'chat_disabled',
},
}
end
# only agents can do this
chat_id = 1
chat = Chat.find_by(id: chat_id)
if !session['id']
return {
event: 'chat_agent_state',
data: {
state: 'failed',
message: 'No such user_id.'
},
}
end
Chat::Agent.state(session['id'], data['data']['active'])
{
event: 'chat_agent_state',
data: {
state: 'ok',
active: data['data']['active'],
},
}
end
end