chat_status_customer.rb 581 B

12345678910111213141516171819202122
  1. class Sessions::Event::ChatStatusCustomer < Sessions::Event::ChatBase
  2. def run
  3. return super if super
  4. return if !check_chat_exists
  5. # check if it's a chat sessin reconnect
  6. session_id = nil
  7. if @payload['data']['session_id']
  8. session_id = @payload['data']['session_id']
  9. # update recipients of existing sessions
  10. chat_session = Chat::Session.find_by(session_id: session_id)
  11. chat_session.add_recipient(@client_id, true)
  12. end
  13. {
  14. event: 'chat_status_customer',
  15. data: current_chat.customer_state(session_id),
  16. }
  17. end
  18. end