2019-08-14 09:48:44 +00:00
|
|
|
class Messages::Outgoing::NormalBuilder
|
|
|
|
attr_reader :message
|
|
|
|
|
2019-10-20 08:47:26 +00:00
|
|
|
def initialize(user, conversation, params)
|
2019-08-14 09:48:44 +00:00
|
|
|
@content = params[:message]
|
2020-03-05 20:13:12 +00:00
|
|
|
@private = params[:private] || false
|
2019-08-14 09:48:44 +00:00
|
|
|
@conversation = conversation
|
|
|
|
@user = user
|
|
|
|
@fb_id = params[:fb_id]
|
2020-03-22 10:24:36 +00:00
|
|
|
@attachment = params[:attachment]
|
2019-08-14 09:48:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def perform
|
2020-03-22 10:24:36 +00:00
|
|
|
@message = @conversation.messages.build(message_params)
|
|
|
|
if @attachment
|
|
|
|
@message.attachment = Attachment.new(account_id: message.account_id)
|
|
|
|
@message.attachment.file.attach(@attachment[:file])
|
|
|
|
end
|
|
|
|
@message.save
|
|
|
|
@message
|
2019-08-14 09:48:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def message_params
|
|
|
|
{
|
|
|
|
account_id: @conversation.account_id,
|
|
|
|
inbox_id: @conversation.inbox_id,
|
|
|
|
message_type: :outgoing,
|
|
|
|
content: @content,
|
|
|
|
private: @private,
|
2020-03-10 18:32:15 +00:00
|
|
|
user_id: @user&.id,
|
2020-02-09 10:17:48 +00:00
|
|
|
source_id: @fb_id
|
2019-08-14 09:48:44 +00:00
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|