spaceship/lib/spaceship/tunes/tunes_client.rb in fastlane-2.92.0.beta.20180415050019 vs spaceship/lib/spaceship/tunes/tunes_client.rb in fastlane-2.92.0.beta.20180416050023
- old
+ new
@@ -603,9 +603,20 @@
data["countriesChanged"] = true
data["countries"] = availability.territories.map { |territory| { 'code' => territory.code } }
data["theWorld"] = availability.include_future_territories.nil? ? true : availability.include_future_territories
+ # InitializespreOrder (if needed)
+ data["preOrder"] ||= {}
+
+ # Sets app_available_date to nil if cleared_for_preorder if false
+ # This is need for apps that have never set either of these before
+ # API will error out if cleared_for_preorder is false and app_available_date has a date
+ cleared_for_preorder = availability.cleared_for_preorder
+ app_available_date = cleared_for_preorder ? availability.app_available_date : nil
+ data["preOrder"]["clearedForPreOrder"] = { "value" => cleared_for_preorder, "isEditable" => true, "isRequired" => true, "errorKeys" => nil }
+ data["preOrder"]["appAvailableDate"] = { "value" => app_available_date, "isEditable" => true, "isRequired" => true, "errorKeys" => nil }
+
# send the changes back to Apple
r = request(:post) do |req|
req.url("ra/apps/#{app_id}/pricing/intervals")
req.body = data.to_json
req.headers['Content-Type'] = 'application/json'