Class: Spaceship::ConnectAPI::App
- Inherits:
-
Object
- Object
- Spaceship::ConnectAPI::App
- Includes:
- Model
- Defined in:
- spaceship/lib/spaceship/connect_api/models/app.rb
Defined Under Namespace
Modules: ContentRightsDeclaration, DistributionType, EducationDiscountType
Constant Summary collapse
- ESSENTIAL_INCLUDES =
[ "appStoreVersions" ].join(",")
Instance Attribute Summary collapse
-
#app_store_versions ⇒ Object
Returns the value of attribute app_store_versions.
-
#available_in_new_territories ⇒ Object
Returns the value of attribute available_in_new_territories.
-
#bundle_id ⇒ Object
Returns the value of attribute bundle_id.
-
#content_rights_declaration ⇒ Object
Returns the value of attribute content_rights_declaration.
-
#distribution_type ⇒ Object
Only available with Apple ID auth.
-
#educationDiscountType ⇒ Object
Returns the value of attribute educationDiscountType.
-
#is_aag ⇒ Object
Returns the value of attribute is_aag.
-
#is_opted_in_to_distribute_ios_app_on_mac_app_store ⇒ Object
Returns the value of attribute is_opted_in_to_distribute_ios_app_on_mac_app_store.
-
#name ⇒ Object
Returns the value of attribute name.
-
#prices ⇒ Object
Returns the value of attribute prices.
-
#primary_locale ⇒ Object
Returns the value of attribute primary_locale.
-
#removed ⇒ Object
Returns the value of attribute removed.
-
#sku ⇒ Object
Returns the value of attribute sku.
Attributes included from Model
Class Method Summary collapse
-
.all(client: nil, filter: {}, includes: ESSENTIAL_INCLUDES, limit: nil, sort: nil) ⇒ Object
Apps.
- .create(client: nil, name: nil, version_string: nil, sku: nil, primary_locale: nil, bundle_id: nil, platforms: nil, company_name: nil) ⇒ Object
- .find(bundle_id, client: nil) ⇒ Object
- .get(client: nil, app_id: nil, includes: "appStoreVersions") ⇒ Object
- .type ⇒ Object
Instance Method Summary collapse
-
#add_users(client: nil, user_ids: nil) ⇒ Object
Users.
- #create_beta_group(client: nil, group_name: nil, is_internal_group: false, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false, has_access_to_all_builds: nil) ⇒ Object
- #create_review_submission(client: nil, platform:) ⇒ Object
-
#disable_b2b ⇒ Object
B2B.
-
#disable_educational_discount ⇒ Object
Education.
- #enable_b2b ⇒ Object
- #enable_educational_discount ⇒ Object
-
#ensure_version!(version_string, platform: nil, client: nil) ⇒ Bool
Will make sure the current edit_version matches the given version number This will either create a new version or change the version number from an existing version.
-
#fetch_app_prices(client: nil, filter: {}, includes: "priceTier", limit: nil, sort: nil) ⇒ Object
App Pricing.
-
#fetch_available_territories(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Available Territories.
- #fetch_edit_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
- #fetch_latest_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
-
#fetch_live_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
App Info.
-
#get_app_availabilities(client: nil, filter: {}, includes: "territoryAvailabilities", limit: { "territoryAvailabilities": 200 }) ⇒ Object
App Availabilities.
- #get_app_store_versions(client: nil, filter: {}, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES, limit: nil, sort: nil) ⇒ Object
- #get_beta_app_localizations(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
-
#get_beta_feedback(client: nil, filter: {}, includes: "tester,build,screenshots", limit: nil, sort: nil) ⇒ Object
Beta Feedback.
- #get_beta_groups(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
-
#get_beta_testers(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Beta Testers.
- #get_build_deliveries(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
-
#get_builds(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Builds.
- #get_edit_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
- #get_in_progress_review_submission(client: nil, platform:, includes: nil) ⇒ Object
- #get_in_review_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
- #get_latest_app_store_version(client: nil, platform: nil, includes: nil) ⇒ Object
- #get_live_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
- #get_pending_release_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
-
#get_ready_review_submission(client: nil, platform:, includes: nil) ⇒ Object
Review Submissions.
-
#get_review_submissions(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
appStoreVersionForReview,items.
-
#reject_version_if_possible!(client: nil, platform: nil) ⇒ Object
App Store Versions.
- #remove_users(client: nil, user_ids: nil) ⇒ Object
-
#update(client: nil, attributes: nil, app_price_tier_id: nil, territory_ids: nil, allow_removing_from_sale: false) ⇒ Object
Updates app attributes, price tier and availability of an app in territories Check Tunes patch_app method for explanation how to use territory_ids parameter with allow_removing_from_sale to remove app from sale.
Methods included from Model
#attr_mapping, included, #initialize, #reverse_attr_mapping, #to_json, #update_attributes
Instance Attribute Details
#app_store_versions ⇒ Object
Returns the value of attribute app_store_versions.
19 20 21 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 19 def app_store_versions @app_store_versions end |
#available_in_new_territories ⇒ Object
Returns the value of attribute available_in_new_territories.
17 18 19 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 17 def available_in_new_territories @available_in_new_territories end |
#bundle_id ⇒ Object
Returns the value of attribute bundle_id.
11 12 13 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 11 def bundle_id @bundle_id end |
#content_rights_declaration ⇒ Object
Returns the value of attribute content_rights_declaration.
18 19 20 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 18 def content_rights_declaration @content_rights_declaration end |
#distribution_type ⇒ Object
Only available with Apple ID auth
23 24 25 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 23 def distribution_type @distribution_type end |
#educationDiscountType ⇒ Object
Returns the value of attribute educationDiscountType.
24 25 26 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 24 def educationDiscountType @educationDiscountType end |
#is_aag ⇒ Object
Returns the value of attribute is_aag.
16 17 18 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 16 def is_aag @is_aag end |
#is_opted_in_to_distribute_ios_app_on_mac_app_store ⇒ Object
Returns the value of attribute is_opted_in_to_distribute_ios_app_on_mac_app_store.
14 15 16 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 14 def is_opted_in_to_distribute_ios_app_on_mac_app_store @is_opted_in_to_distribute_ios_app_on_mac_app_store end |
#name ⇒ Object
Returns the value of attribute name.
10 11 12 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 10 def name @name end |
#prices ⇒ Object
Returns the value of attribute prices.
20 21 22 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 20 def prices @prices end |
#primary_locale ⇒ Object
Returns the value of attribute primary_locale.
13 14 15 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 13 def primary_locale @primary_locale end |
#removed ⇒ Object
Returns the value of attribute removed.
15 16 17 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 15 def removed @removed end |
#sku ⇒ Object
Returns the value of attribute sku.
12 13 14 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 12 def sku @sku end |
Class Method Details
.all(client: nil, filter: {}, includes: ESSENTIAL_INCLUDES, limit: nil, sort: nil) ⇒ Object
Apps
73 74 75 76 77 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 73 def self.all(client: nil, filter: {}, includes: ESSENTIAL_INCLUDES, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI resps = client.get_apps(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
.create(client: nil, name: nil, version_string: nil, sku: nil, primary_locale: nil, bundle_id: nil, platforms: nil, company_name: nil) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 86 def self.create(client: nil, name: nil, version_string: nil, sku: nil, primary_locale: nil, bundle_id: nil, platforms: nil, company_name: nil) client ||= Spaceship::ConnectAPI client.post_app( name: name, version_string: version_string, sku: sku, primary_locale: primary_locale, bundle_id: bundle_id, platforms: platforms, company_name: company_name ) end |
.find(bundle_id, client: nil) ⇒ Object
79 80 81 82 83 84 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 79 def self.find(bundle_id, client: nil) client ||= Spaceship::ConnectAPI return all(client: client, filter: { bundleId: bundle_id }).find do |app| app.bundle_id == bundle_id end end |
.get(client: nil, app_id: nil, includes: "appStoreVersions") ⇒ Object
99 100 101 102 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 99 def self.get(client: nil, app_id: nil, includes: "appStoreVersions") client ||= Spaceship::ConnectAPI return client.get_app(app_id: app_id, includes: includes).first end |
.type ⇒ Object
65 66 67 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 65 def self.type return "apps" end |
Instance Method Details
#add_users(client: nil, user_ids: nil) ⇒ Object
Users
472 473 474 475 476 477 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 472 def add_users(client: nil, user_ids: nil) client ||= Spaceship::ConnectAPI user_ids.each do |user_id| client.add_user_visible_apps(user_id: user_id, app_ids: [id]) end end |
#create_beta_group(client: nil, group_name: nil, is_internal_group: false, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false, has_access_to_all_builds: nil) ⇒ Object
395 396 397 398 399 400 401 402 403 404 405 406 407 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 395 def create_beta_group(client: nil, group_name: nil, is_internal_group: false, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false, has_access_to_all_builds: nil) client ||= Spaceship::ConnectAPI resps = client.create_beta_group( app_id: id, group_name: group_name, is_internal_group: is_internal_group, public_link_enabled: public_link_enabled, public_link_limit: public_link_limit, public_link_limit_enabled: public_link_limit_enabled, has_access_to_all_builds: has_access_to_all_builds ).all_pages return resps.flat_map(&:to_models).first end |
#create_review_submission(client: nil, platform:) ⇒ Object
462 463 464 465 466 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 462 def create_review_submission(client: nil, platform:) client ||= Spaceship::ConnectAPI resp = client.post_review_submission(app_id: id, platform: platform) return resp.to_models.first end |
#disable_b2b ⇒ Object
B2B
316 317 318 319 320 321 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 316 def disable_b2b update(attributes: { distributionType: DistributionType::APP_STORE, education_discount_type: EducationDiscountType::NOT_DISCOUNTED }) end |
#disable_educational_discount ⇒ Object
Education
413 414 415 416 417 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 413 def disable_educational_discount update(attributes: { education_discount_type: EducationDiscountType::NOT_DISCOUNTED }) end |
#enable_b2b ⇒ Object
323 324 325 326 327 328 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 323 def enable_b2b update(attributes: { distributionType: App::DistributionType::CUSTOM, education_discount_type: EducationDiscountType::NOT_APPLICABLE }) end |
#enable_educational_discount ⇒ Object
419 420 421 422 423 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 419 def enable_educational_discount update(attributes: { education_discount_type: EducationDiscountType::DISCOUNTED }) end |
#ensure_version!(version_string, platform: nil, client: nil) ⇒ Bool
Will make sure the current edit_version matches the given version number This will either create a new version or change the version number from an existing version
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 212 def ensure_version!(version_string, platform: nil, client: nil) client ||= Spaceship::ConnectAPI app_store_version = get_edit_app_store_version(client: client, platform: platform) if app_store_version if version_string != app_store_version.version_string attributes = { versionString: version_string } app_store_version.update(client: client, attributes: attributes) return true end return false else attributes = { versionString: version_string, platform: platform } client.post_app_store_version(app_id: id, attributes: attributes) return true end end |
#fetch_app_prices(client: nil, filter: {}, includes: "priceTier", limit: nil, sort: nil) ⇒ Object
App Pricing
176 177 178 179 180 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 176 def fetch_app_prices(client: nil, filter: {}, includes: "priceTier", limit: nil, sort: nil) client ||= Spaceship::ConnectAPI resp = client.get_app_prices(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort) return resp.to_models end |
#fetch_available_territories(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Available Territories
165 166 167 168 169 170 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 165 def fetch_available_territories(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} resps = client.get_available_territories(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#fetch_edit_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 130 def fetch_edit_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI states = [ Spaceship::ConnectAPI::AppInfo::State::PREPARE_FOR_SUBMISSION, Spaceship::ConnectAPI::AppInfo::State::DEVELOPER_REJECTED, Spaceship::ConnectAPI::AppInfo::State::REJECTED, Spaceship::ConnectAPI::AppInfo::State::WAITING_FOR_REVIEW ] resp = client.get_app_infos(app_id: id, includes: includes) return resp.to_models.select do |model| states.include?(model.state) end.first end |
#fetch_latest_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
145 146 147 148 149 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 145 def fetch_latest_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI resp = client.get_app_infos(app_id: id, includes: includes) return resp.to_models.first end |
#fetch_live_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) ⇒ Object
App Info
116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 116 def fetch_live_app_info(client: nil, includes: Spaceship::ConnectAPI::AppInfo::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI states = [ Spaceship::ConnectAPI::AppInfo::State::READY_FOR_DISTRIBUTION, Spaceship::ConnectAPI::AppInfo::State::PENDING_RELEASE, Spaceship::ConnectAPI::AppInfo::State::IN_REVIEW ] resp = client.get_app_infos(app_id: id, includes: includes) return resp.to_models.select do |model| states.include?(model.state) end.first end |
#get_app_availabilities(client: nil, filter: {}, includes: "territoryAvailabilities", limit: { "territoryAvailabilities": 200 }) ⇒ Object
App Availabilities
155 156 157 158 159 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 155 def get_app_availabilities(client: nil, filter: {}, includes: "territoryAvailabilities", limit: { "territoryAvailabilities": 200 }) client ||= Spaceship::ConnectAPI resp = client.get_app_availabilities(app_id: id, filter: filter, includes: includes, limit: limit, sort: nil) return resp.to_models.first end |
#get_app_store_versions(client: nil, filter: {}, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES, limit: nil, sort: nil) ⇒ Object
301 302 303 304 305 306 307 308 309 310 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 301 def get_app_store_versions(client: nil, filter: {}, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI if limit.nil? resps = client.get_app_store_versions(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) else resp = client.get_app_store_versions(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort) return resp.to_models end end |
#get_beta_app_localizations(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
377 378 379 380 381 382 383 384 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 377 def get_beta_app_localizations(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} filter[:app] = id resps = client.get_beta_app_localizations(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_beta_feedback(client: nil, filter: {}, includes: "tester,build,screenshots", limit: nil, sort: nil) ⇒ Object
Beta Feedback
334 335 336 337 338 339 340 341 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 334 def get_beta_feedback(client: nil, filter: {}, includes: "tester,build,screenshots", limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} filter["build.app"] = id resps = client.get_beta_feedback(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_beta_groups(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
386 387 388 389 390 391 392 393 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 386 def get_beta_groups(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} filter[:app] = id resps = client.get_beta_groups(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_beta_testers(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Beta Testers
347 348 349 350 351 352 353 354 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 347 def get_beta_testers(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} filter[:apps] = id resps = client.get_beta_testers(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_build_deliveries(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
369 370 371 372 373 374 375 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 369 def get_build_deliveries(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} resps = client.get_build_deliveries(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_builds(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
Builds
360 361 362 363 364 365 366 367 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 360 def get_builds(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI filter ||= {} filter[:app] = id resps = client.get_builds(filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#get_edit_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 257 def get_edit_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { appVersionState: [ Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PREPARE_FOR_SUBMISSION, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::DEVELOPER_REJECTED, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::REJECTED, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::METADATA_REJECTED, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::WAITING_FOR_REVIEW, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::INVALID_BINARY ].join(","), platform: platform } # Get the latest version return get_app_store_versions(client: client, filter: filter, includes: includes) .sort_by { |v| Gem::Version.new(v.version_string) } .last end |
#get_in_progress_review_submission(client: nil, platform:, includes: nil) ⇒ Object
441 442 443 444 445 446 447 448 449 450 451 452 453 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 441 def get_in_progress_review_submission(client: nil, platform:, includes: nil) client ||= Spaceship::ConnectAPI filter = { state: [ Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::WAITING_FOR_REVIEW, Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::IN_REVIEW, Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::UNRESOLVED_ISSUES ].join(","), platform: platform } return get_review_submissions(client: client, filter: filter, includes: includes).first end |
#get_in_review_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
278 279 280 281 282 283 284 285 286 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 278 def get_in_review_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { appVersionState: Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::IN_REVIEW, platform: platform } return get_app_store_versions(client: client, filter: filter, includes: includes).first end |
#get_latest_app_store_version(client: nil, platform: nil, includes: nil) ⇒ Object
231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 231 def get_latest_app_store_version(client: nil, platform: nil, includes: nil) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { platform: platform } # Get the latest version return get_app_store_versions(client: client, filter: filter, includes: includes) .sort_by { |v| Date.parse(v.created_date) } .last end |
#get_live_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
244 245 246 247 248 249 250 251 252 253 254 255 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 244 def get_live_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { appVersionState: [ Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::READY_FOR_DISTRIBUTION, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PROCESSING_FOR_DISTRIBUTION ].join(","), platform: platform } return get_app_store_versions(client: client, filter: filter, includes: includes).first end |
#get_pending_release_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) ⇒ Object
288 289 290 291 292 293 294 295 296 297 298 299 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 288 def get_pending_release_app_store_version(client: nil, platform: nil, includes: Spaceship::ConnectAPI::AppStoreVersion::ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { appVersionState: [ Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PENDING_APPLE_RELEASE, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PENDING_DEVELOPER_RELEASE ].join(','), platform: platform } return get_app_store_versions(client: client, filter: filter, includes: includes).first end |
#get_ready_review_submission(client: nil, platform:, includes: nil) ⇒ Object
Review Submissions
429 430 431 432 433 434 435 436 437 438 439 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 429 def get_ready_review_submission(client: nil, platform:, includes: nil) client ||= Spaceship::ConnectAPI filter = { state: [ Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::READY_FOR_REVIEW ].join(","), platform: platform } return get_review_submissions(client: client, filter: filter, includes: includes).first end |
#get_review_submissions(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object
appStoreVersionForReview,items
456 457 458 459 460 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 456 def get_review_submissions(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI resps = client.get_review_submissions(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end |
#reject_version_if_possible!(client: nil, platform: nil) ⇒ Object
App Store Versions
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 186 def reject_version_if_possible!(client: nil, platform: nil) client ||= Spaceship::ConnectAPI platform ||= Spaceship::ConnectAPI::Platform::IOS filter = { appVersionState: [ Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PENDING_APPLE_RELEASE, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::PENDING_DEVELOPER_RELEASE, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::IN_REVIEW, Spaceship::ConnectAPI::AppStoreVersion::AppVersionState::WAITING_FOR_REVIEW ].join(","), platform: platform } # Get the latest version version = get_app_store_versions(client: client, filter: filter, includes: "appStoreVersionSubmission") .sort_by { |v| Gem::Version.new(v.version_string) } .last return false if version.nil? return version.reject! end |
#remove_users(client: nil, user_ids: nil) ⇒ Object
479 480 481 482 483 484 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 479 def remove_users(client: nil, user_ids: nil) client ||= Spaceship::ConnectAPI user_ids.each do |user_id| client.delete_user_visible_apps(user_id: user_id, app_ids: [id]) end end |
#update(client: nil, attributes: nil, app_price_tier_id: nil, territory_ids: nil, allow_removing_from_sale: false) ⇒ Object
Updates app attributes, price tier and availability of an app in territories Check Tunes patch_app method for explanation how to use territory_ids parameter with allow_removing_from_sale to remove app from sale
106 107 108 109 110 |
# File 'spaceship/lib/spaceship/connect_api/models/app.rb', line 106 def update(client: nil, attributes: nil, app_price_tier_id: nil, territory_ids: nil, allow_removing_from_sale: false) client ||= Spaceship::ConnectAPI attributes = reverse_attr_mapping(attributes) return client.patch_app(app_id: id, attributes: attributes, app_price_tier_id: app_price_tier_id, territory_ids: territory_ids, allow_removing_from_sale: allow_removing_from_sale) end |