Sha256: 75ad7d7fa4650814a5597af7e80ea849628e701df92796950187ecb410bfd2e6

Contents?: true

Size: 1.35 KB

Versions: 39

Compression:

Stored size: 1.35 KB

Contents

require_relative 'module'
require 'spaceship'

module Deliver
  # Set the app's pricing
  class UploadPriceTier
    def upload(options)
      return unless options[:price_tier]

      price_tier = options[:price_tier].to_s

      app = Deliver.cache[:app]

      attributes = {}
      territory_ids = []

      # As of 2020-09-14:
      # Official App Store Connect does not have an endpoint to get app prices for an app
      # Need to get prices from the app's relationships
      # Prices from app's relationship doess not have price tier so need to fetch app price with price tier relationship
      app_prices = app.prices
      if app_prices.first
        app_price = Spaceship::ConnectAPI.get_app_price(app_price_id: app_prices.first.id, includes: "priceTier").first
        old_price = app_price.price_tier.id
      else
        UI.message("App has no prices yet... Enabling all countries in App Store Connect")
        territory_ids = Spaceship::ConnectAPI::Territory.all.map(&:id)
        attributes[:availableInNewTerritories] = true
      end

      if price_tier == old_price
        UI.success("Price Tier unchanged (tier #{old_price})")
        return
      end

      app.update(attributes: attributes, app_price_tier_id: price_tier, territory_ids: territory_ids)
      UI.success("Successfully updated the pricing from #{old_price} to #{price_tier}")
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
fastlane-2.206.2 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.206.1 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.206.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.205.2 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.205.1 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.205.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.204.3 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.204.2 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.204.1 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.204.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.203.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.202.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.2 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.1 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.0.rc3 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.0.rc2 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.201.0.rc1 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.200.0 deliver/lib/deliver/upload_price_tier.rb
fastlane-2.199.0 deliver/lib/deliver/upload_price_tier.rb