d5a6f5e352
Right now as part of conversation continuity, we are using the ConversationReplyMailer which sends a summary of messages including the incoming messages when an agent replies. Ideally, we want to send only the reply of that agent and not a summary when Conversation continuity is enabled. Added the functionality to send the reply email without summary. Added required unit tests to cover the changes. ref: #1048
24 lines
765 B
Ruby
24 lines
765 B
Ruby
class ConversationReplyEmailWorker
|
|
include Sidekiq::Worker
|
|
sidekiq_options queue: :mailers
|
|
|
|
def perform(conversation_id, queued_time)
|
|
@conversation = Conversation.find(conversation_id)
|
|
|
|
# send the email
|
|
if @conversation.messages.incoming&.last&.content_type == 'incoming_email'
|
|
ConversationReplyMailer.reply_without_summary(@conversation, queued_time).deliver_later
|
|
else
|
|
ConversationReplyMailer.reply_with_summary(@conversation, queued_time).deliver_later
|
|
end
|
|
|
|
# delete the redis set from the first new message on the conversation
|
|
Redis::Alfred.delete(conversation_mail_key)
|
|
end
|
|
|
|
private
|
|
|
|
def conversation_mail_key
|
|
format(::Redis::Alfred::CONVERSATION_MAILER_KEY, conversation_id: @conversation.id)
|
|
end
|
|
end
|