class Spaceship::ConnectAPI::AppStoreReviewAttachment

Attributes

asset_delivery_state[RW]
file_name[RW]
source_file_checksum[RW]
upload_operations[RW]
uploaded[RW]

Public Class Methods

create(client: nil, app_store_review_detail_id: nil, path: nil) click to toggle source

API

# File spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb, line 32
def self.create(client: nil, app_store_review_detail_id: nil, path: nil)
  client ||= Spaceship::ConnectAPI
  require 'faraday'

  filename = File.basename(path)
  filesize = File.size(path)
  bytes = File.binread(path)

  post_attributes = {
    fileSize: filesize,
    fileName: filename
  }

  # Create placeholder
  attachment = client.post_app_store_review_attachment(
    app_store_review_detail_id: app_store_review_detail_id,
    attributes: post_attributes
  ).to_models.first

  # Upload the file
  upload_operations = attachment.upload_operations
  Spaceship::ConnectAPI::FileUploader.upload(upload_operations, bytes)

  # Update file uploading complete
  patch_attributes = {
    uploaded: true,
    sourceFileChecksum: Digest::MD5.hexdigest(bytes)
  }

  client.patch_app_store_review_attachment(
    app_store_review_attachment_id: attachment.id,
    attributes: patch_attributes
  ).to_models.first
end
type() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb, line 24
def self.type
  return "appStoreReviewAttachments"
end

Public Instance Methods

delete!(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb, line 67
def delete!(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  client.delete_app_store_review_attachment(app_store_review_attachment_id: id)
end