Feat: Support MMS in SMS Channel ( Bandwidth ) (#4046)

Ability to send and receive MMS to bandwidth channel

fixes: #3961
This commit is contained in:
Sojan Jose
2022-03-02 15:09:56 +05:30
committed by GitHub
parent 4d458c2184
commit 7b9e4982cf
9 changed files with 133 additions and 26 deletions

View File

@@ -14,6 +14,8 @@ class Sms::IncomingMessageService
sender: @contact,
source_id: params[:id]
)
attach_files
@message.save!
end
private
@@ -22,6 +24,10 @@ class Sms::IncomingMessageService
@account ||= @inbox.account
end
def channel
@channel ||= @inbox.channel
end
def phone_number
params[:from]
end
@@ -63,4 +69,28 @@ class Sms::IncomingMessageService
phone_number: phone_number
}
end
def attach_files
return if params[:media].blank?
params[:media].each do |media_url|
# we don't need to process this files since chatwoot doesn't support it
next if media_url.end_with? '.smil'
attachment_file = Down.download(
media_url,
http_basic_authentication: [channel.provider_config['api_key'], channel.provider_config['api_secret']]
)
@message.attachments.new(
account_id: @message.account_id,
file_type: file_type(attachment_file.content_type),
file: {
io: attachment_file,
filename: attachment_file,
content_type: attachment_file.content_type
}
)
end
end
end