Revert "refactor conversation handling in message builders"

This reverts commit ad524a5cab.
This commit is contained in:
Shivam Mishra
2024-04-03 18:01:50 +05:30
parent ad524a5cab
commit c711f78d24
2 changed files with 7 additions and 14 deletions
@@ -56,13 +56,9 @@ class Messages::Facebook::MessageBuilder < Messages::Messenger::MessageBuilder
@conversation ||= set_conversation_based_on_inbox_config
end
def facebook_direct_message_conversation
Conversation.where(conversation_params).order(created_at: :desc).first
end
def set_conversation_based_on_inbox_config
if @inbox.lock_to_single_conversation
facebook_direct_message_conversation || build_conversation
Conversation.find_by(conversation_params) || build_conversation
else
find_or_build_for_multiple_conversations
end
@@ -70,13 +66,10 @@ class Messages::Facebook::MessageBuilder < Messages::Messenger::MessageBuilder
def find_or_build_for_multiple_conversations
# If lock to single conversation is disabled, we will create a new conversation if previous conversation is resolved
last_conversation = facebook_direct_message_conversation
last_conversation = Conversation.where(conversation_params).where.not(status: :resolved).order(created_at: :desc).first
return build_conversation if last_conversation.nil?
if last_conversation.nil? || last_conversation.resolved?
build_conversation
else
last_conversation
end
last_conversation
end
def build_conversation
@@ -74,19 +74,19 @@ class Messages::Instagram::MessageBuilder < Messages::Messenger::MessageBuilder
def instagram_direct_message_conversation
Conversation.where(conversation_params)
.where("additional_attributes ->> 'type' = 'instagram_direct_message'").order(created_at: :desc).first
.where("additional_attributes ->> 'type' = 'instagram_direct_message'")
end
def set_conversation_based_on_inbox_config
if @inbox.lock_to_single_conversation
instagram_direct_message_conversation || build_conversation
instagram_direct_message_conversation.first || build_conversation
else
find_or_build_for_multiple_conversations
end
end
def find_or_build_for_multiple_conversations
last_conversation = instagram_direct_message_conversation
last_conversation = instagram_direct_message_conversation.order(created_at: :desc).first
if last_conversation.nil? || last_conversation.resolved?
build_conversation