Skip to content

Commit

Permalink
[spaceship] support fetching build_bundle_file_sizes for a `BuildBu…
Browse files Browse the repository at this point in the history
…ndle` (#20860)

* Add BuildBundleFileSizes model and update testlight client to support fetching all for a given BuildBundle

* Add BuildBundle.build_bundle_file_sizes helper

* Add test coverage

* Rename get_build_bundle_build_bundle_file_sizes -> get_build_bundles_build_bundle_file_sizes
  • Loading branch information
liamnichols committed Nov 16, 2022
1 parent 6240d07 commit 8b307b1
Show file tree
Hide file tree
Showing 8 changed files with 745 additions and 0 deletions.
1 change: 1 addition & 0 deletions spaceship/lib/spaceship/connect_api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
require 'spaceship/connect_api/models/build_delivery'
require 'spaceship/connect_api/models/build_beta_detail'
require 'spaceship/connect_api/models/build_bundle'
require 'spaceship/connect_api/models/build_bundle_file_sizes'
require 'spaceship/connect_api/models/custom_app_organization'
require 'spaceship/connect_api/models/custom_app_user'
require 'spaceship/connect_api/models/pre_release_version'
Expand Down
9 changes: 9 additions & 0 deletions spaceship/lib/spaceship/connect_api/models/build_bundle.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require_relative '../model'
require_relative './build_bundle_file_sizes'
module Spaceship
class ConnectAPI
class BuildBundle
Expand Down Expand Up @@ -54,6 +55,14 @@ module BundleType
def self.type
return "buildBundles"
end

#
# API
#

def build_bundle_file_sizes(client: nil)
@build_bundle_file_sizes ||= BuildBundleFileSizes.all(client: client, build_bundle_id: id)
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
require_relative '../model'
module Spaceship
class ConnectAPI
class BuildBundleFileSizes
include Spaceship::ConnectAPI::Model

attr_accessor :device_model
attr_accessor :os_version
attr_accessor :download_bytes
attr_accessor :install_bytes

attr_mapping({
"deviceModel" => "device_model",
"osVersion" => "os_version",
"downloadBytes" => "download_bytes",
"installBytes" => "install_bytes"
})

def self.type
return "buildBundleFileSizes"
end

#
# API
#

def self.all(client: nil, build_bundle_id: nil, limit: 30)
client ||= Spaceship::ConnectAPI
resps = client.get_build_bundles_build_bundle_file_sizes(build_bundle_id: build_bundle_id).all_pages
resps.flat_map(&:to_models)
end
end
end
end
9 changes: 9 additions & 0 deletions spaceship/lib/spaceship/connect_api/testflight/testflight.rb
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,15 @@ def get_beta_tester_metrics(filter: {}, includes: nil, limit: nil, sort: nil)
test_flight_request_client.get("betaTesterMetrics", params)
end

#
# buildBundles
#

def get_build_bundles_build_bundle_file_sizes(build_bundle_id:, limit: nil)
params = test_flight_request_client.build_params(filter: nil, includes: nil, limit: limit, sort: nil, cursor: nil)
test_flight_request_client.get("buildBundles/#{build_bundle_id}/buildBundleFileSizes", params)
end

#
# builds
#
Expand Down

0 comments on commit 8b307b1

Please sign in to comment.