Module: QboApi::Attachment

Included in:
QboApi
Defined in:
lib/qbo_api/attachment.rb

Instance Method Summary collapse

Instance Method Details

#upload_attachment(payload:, attachment:) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/qbo_api/attachment.rb', line 4

def upload_attachment(payload:, attachment:)
  content_type = payload['ContentType'] || payload[:ContentType]
  file_name = payload['FileName'] || payload[:FileName]
  raw_response = attachment_connection.post do |request|
    request.url "#{realm_id}/upload"
    request.body = {
        'file_metadata_01':
            Faraday::UploadIO.new(StringIO.new(payload.to_json), 'application/json', 'attachment.json'),
        'file_content_01':
            Faraday::UploadIO.new(attachment, content_type, file_name)
    }
  end
  response(raw_response, entity: :attachable)
end