Updated

app/use_cases/accounts/apps/chatwoots / get_conversations.rb

A
21 lines of codes
2 methods
7.7 complexity/method
7 churn
15.48 complexity
0 duplications
class Accounts::Apps::Chatwoots::GetConversations
  1. Accounts::Apps::Chatwoots::GetConversations has no descriptive comment
def self.call(chatwoot, contact_id, inbox_id = nil) request = Faraday.get( "#{chatwoot.chatwoot_endpoint_url}/api/v1/accounts/#{chatwoot.chatwoot_account_id}/contacts/#{contact_id}/conversations", {}, chatwoot.request_headers ) conversation_list = JSON.parse(request.body)['payload'] return { ok: conversation_list } if inbox_id.nil?
  1. Accounts::Apps::Chatwoots::GetConversations#self.call performs a nil-check
{ ok: list_conversations_by_inbox(conversation_list, inbox_id) } end def self.list_conversations_by_inbox(conversation_list, inbox_id) conversation_list.select do |conversation| conversation['inbox_id'] == inbox_id.to_i end end end