spaceship/lib/spaceship/connect_api/testflight/testflight.rb in fastlane-2.156.1 vs spaceship/lib/spaceship/connect_api/testflight/testflight.rb in fastlane-2.157.0
- old
+ new
@@ -1,367 +1,378 @@
require 'spaceship/connect_api/testflight/client'
module Spaceship
class ConnectAPI
module TestFlight
- #
- # apps
- #
+ module API
+ def test_flight_request_client=(test_flight_request_client)
+ @test_flight_request_client = test_flight_request_client
+ end
- def get_apps(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("apps", params)
- end
+ def test_flight_request_client
+ return @test_flight_request_client if @test_flight_request_client
+ raise TypeError, "You need to instantiate this module with test_flight_request_client"
+ end
- def get_app(app_id: nil, includes: nil)
- params = Client.instance.build_params(filter: nil, includes: includes, limit: nil, sort: nil)
- Client.instance.get("apps/#{app_id}", params)
- end
+ #
+ # apps
+ #
- #
- # betaAppLocalizations
- #
+ def get_apps(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("apps", params)
+ end
- def get_beta_app_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaAppLocalizations", params)
- end
+ def get_app(app_id: nil, includes: nil)
+ params = @test_flight_request_client.build_params(filter: nil, includes: includes, limit: nil, sort: nil)
+ @test_flight_request_client.get("apps/#{app_id}", params)
+ end
- def post_beta_app_localizations(app_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- type: "betaAppLocalizations",
- relationships: {
- app: {
- data: {
- type: "apps",
- id: app_id
+ #
+ # betaAppLocalizations
+ #
+
+ def get_beta_app_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaAppLocalizations", params)
+ end
+
+ def post_beta_app_localizations(app_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ type: "betaAppLocalizations",
+ relationships: {
+ app: {
+ data: {
+ type: "apps",
+ id: app_id
+ }
}
}
}
}
- }
- Client.instance.post("betaAppLocalizations", body)
- end
+ @test_flight_request_client.post("betaAppLocalizations", body)
+ end
- def patch_beta_app_localizations(localization_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- id: localization_id,
- type: "betaAppLocalizations"
+ def patch_beta_app_localizations(localization_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ id: localization_id,
+ type: "betaAppLocalizations"
+ }
}
- }
- Client.instance.patch("betaAppLocalizations/#{localization_id}", body)
- end
+ @test_flight_request_client.patch("betaAppLocalizations/#{localization_id}", body)
+ end
- #
- # betaAppReviewDetails
- #
+ #
+ # betaAppReviewDetails
+ #
- def get_beta_app_review_detail(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaAppReviewDetails", params)
- end
+ def get_beta_app_review_detail(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaAppReviewDetails", params)
+ end
- def patch_beta_app_review_detail(app_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- id: app_id,
- type: "betaAppReviewDetails"
+ def patch_beta_app_review_detail(app_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ id: app_id,
+ type: "betaAppReviewDetails"
+ }
}
- }
- Client.instance.patch("betaAppReviewDetails/#{app_id}", body)
- end
+ @test_flight_request_client.patch("betaAppReviewDetails/#{app_id}", body)
+ end
- #
- # betaAppReviewSubmissions
- #
+ #
+ # betaAppReviewSubmissions
+ #
- def get_beta_app_review_submissions(filter: {}, includes: nil, limit: nil, sort: nil, cursor: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort, cursor: cursor)
- Client.instance.get("betaAppReviewSubmissions", params)
- end
+ def get_beta_app_review_submissions(filter: {}, includes: nil, limit: nil, sort: nil, cursor: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort, cursor: cursor)
+ @test_flight_request_client.get("betaAppReviewSubmissions", params)
+ end
- def post_beta_app_review_submissions(build_id: nil)
- body = {
- data: {
- type: "betaAppReviewSubmissions",
- relationships: {
- build: {
- data: {
- type: "builds",
- id: build_id
+ def post_beta_app_review_submissions(build_id: nil)
+ body = {
+ data: {
+ type: "betaAppReviewSubmissions",
+ relationships: {
+ build: {
+ data: {
+ type: "builds",
+ id: build_id
+ }
}
}
}
}
- }
- Client.instance.post("betaAppReviewSubmissions", body)
- end
+ @test_flight_request_client.post("betaAppReviewSubmissions", body)
+ end
- def delete_beta_app_review_submission(beta_app_review_submission_id: nil)
- params = Client.instance.build_params(filter: nil, includes: nil, limit: nil, sort: nil, cursor: nil)
- Client.instance.delete("betaAppReviewSubmissions/#{beta_app_review_submission_id}", params)
- end
+ def delete_beta_app_review_submission(beta_app_review_submission_id: nil)
+ params = @test_flight_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil, cursor: nil)
+ @test_flight_request_client.delete("betaAppReviewSubmissions/#{beta_app_review_submission_id}", params)
+ end
- #
- # betaBuildLocalizations
- #
+ #
+ # betaBuildLocalizations
+ #
- def get_beta_build_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaBuildLocalizations", params)
- end
+ def get_beta_build_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaBuildLocalizations", params)
+ end
- def post_beta_build_localizations(build_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- type: "betaBuildLocalizations",
- relationships: {
- build: {
- data: {
- type: "builds",
- id: build_id
+ def post_beta_build_localizations(build_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ type: "betaBuildLocalizations",
+ relationships: {
+ build: {
+ data: {
+ type: "builds",
+ id: build_id
+ }
}
}
}
}
- }
- Client.instance.post("betaBuildLocalizations", body)
- end
+ @test_flight_request_client.post("betaBuildLocalizations", body)
+ end
- def patch_beta_build_localizations(localization_id: nil, feedbackEmail: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- id: localization_id,
- type: "betaBuildLocalizations"
+ def patch_beta_build_localizations(localization_id: nil, feedbackEmail: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ id: localization_id,
+ type: "betaBuildLocalizations"
+ }
}
- }
- Client.instance.patch("betaBuildLocalizations/#{localization_id}", body)
- end
+ @test_flight_request_client.patch("betaBuildLocalizations/#{localization_id}", body)
+ end
- #
- # betaBuildMetrics
- #
+ #
+ # betaBuildMetrics
+ #
- def get_beta_build_metrics(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaBuildMetrics", params)
- end
+ def get_beta_build_metrics(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaBuildMetrics", params)
+ end
- #
- # betaGroups
- #
+ #
+ # betaGroups
+ #
- def get_beta_groups(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaGroups", params)
- end
+ def get_beta_groups(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaGroups", params)
+ end
- def add_beta_groups_to_build(build_id: nil, beta_group_ids: [])
- body = {
- data: beta_group_ids.map do |id|
- {
- type: "betaGroups",
- id: id
- }
- end
- }
+ def add_beta_groups_to_build(build_id: nil, beta_group_ids: [])
+ body = {
+ data: beta_group_ids.map do |id|
+ {
+ type: "betaGroups",
+ id: id
+ }
+ end
+ }
- Client.instance.post("builds/#{build_id}/relationships/betaGroups", body)
- end
+ @test_flight_request_client.post("builds/#{build_id}/relationships/betaGroups", body)
+ end
- def create_beta_group(app_id: nil, group_name: nil, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false)
- body = {
- data: {
- attributes: {
- name: group_name,
- publicLinkEnabled: public_link_enabled,
- publicLinkLimit: public_link_limit,
- publicLinkLimitEnabled: public_link_limit_enabled
- },
- relationships: {
- app: {
- data: {
- id: app_id,
- type: "apps"
+ def create_beta_group(app_id: nil, group_name: nil, public_link_enabled: false, public_link_limit: 10_000, public_link_limit_enabled: false)
+ body = {
+ data: {
+ attributes: {
+ name: group_name,
+ publicLinkEnabled: public_link_enabled,
+ publicLinkLimit: public_link_limit,
+ publicLinkLimitEnabled: public_link_limit_enabled
+ },
+ relationships: {
+ app: {
+ data: {
+ id: app_id,
+ type: "apps"
+ }
}
- }
- },
- type: "betaGroups"
+ },
+ type: "betaGroups"
+ }
}
- }
- Client.instance.post("betaGroups", body)
- end
+ @test_flight_request_client.post("betaGroups", body)
+ end
- #
- # betaTesters
- #
+ #
+ # betaTesters
+ #
- def get_beta_testers(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaTesters", params)
- end
+ def get_beta_testers(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaTesters", params)
+ end
- # beta_testers - [{email: "", firstName: "", lastName: ""}]
- def post_bulk_beta_tester_assignments(beta_group_id: nil, beta_testers: nil)
- beta_testers || []
+ # beta_testers - [{email: "", firstName: "", lastName: ""}]
+ def post_bulk_beta_tester_assignments(beta_group_id: nil, beta_testers: nil)
+ beta_testers || []
- beta_testers.map do |tester|
- tester[:errors] = []
- end
+ beta_testers.map do |tester|
+ tester[:errors] = []
+ end
- body = {
- data: {
- attributes: {
- betaTesters: beta_testers
- },
- relationships: {
- betaGroup: {
- data: {
- type: "betaGroups",
- id: beta_group_id
+ body = {
+ data: {
+ attributes: {
+ betaTesters: beta_testers
+ },
+ relationships: {
+ betaGroup: {
+ data: {
+ type: "betaGroups",
+ id: beta_group_id
+ }
}
- }
- },
- type: "bulkBetaTesterAssignments"
+ },
+ type: "bulkBetaTesterAssignments"
+ }
}
- }
- Client.instance.post("bulkBetaTesterAssignments", body)
- end
+ @test_flight_request_client.post("bulkBetaTesterAssignments", body)
+ end
- def delete_beta_tester_from_apps(beta_tester_id: nil, app_ids: [])
- body = {
- data: app_ids.map do |id|
- {
- type: "apps",
- id: id
- }
- end
- }
+ def delete_beta_tester_from_apps(beta_tester_id: nil, app_ids: [])
+ body = {
+ data: app_ids.map do |id|
+ {
+ type: "apps",
+ id: id
+ }
+ end
+ }
- Client.instance.delete("betaTesters/#{beta_tester_id}/relationships/apps", nil, body)
- end
+ @test_flight_request_client.delete("betaTesters/#{beta_tester_id}/relationships/apps", nil, body)
+ end
- def delete_beta_tester_from_beta_groups(beta_tester_id: nil, beta_group_ids: [])
- body = {
- data: beta_group_ids.map do |id|
- {
- type: "betaGroups",
- id: id
- }
- end
- }
+ def delete_beta_tester_from_beta_groups(beta_tester_id: nil, beta_group_ids: [])
+ body = {
+ data: beta_group_ids.map do |id|
+ {
+ type: "betaGroups",
+ id: id
+ }
+ end
+ }
- Client.instance.delete("betaTesters/#{beta_tester_id}/relationships/betaGroups", nil, body)
- end
+ @test_flight_request_client.delete("betaTesters/#{beta_tester_id}/relationships/betaGroups", nil, body)
+ end
- #
- # betaTesterMetrics
- #
+ #
+ # betaTesterMetrics
+ #
- def get_beta_tester_metrics(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaTesterMetrics", params)
- end
+ def get_beta_tester_metrics(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaTesterMetrics", params)
+ end
- #
- # builds
- #
+ #
+ # builds
+ #
- def get_builds(filter: {}, includes: "buildBetaDetail,betaBuildMetrics", limit: 10, sort: "uploadedDate", cursor: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort, cursor: cursor)
- Client.instance.get("builds", params)
- end
+ def get_builds(filter: {}, includes: "buildBetaDetail,betaBuildMetrics", limit: 10, sort: "uploadedDate", cursor: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort, cursor: cursor)
+ @test_flight_request_client.get("builds", params)
+ end
- def get_build(build_id: nil, app_store_version_id: nil, includes: nil)
- if build_id
- params = Client.instance.build_params(filter: nil, includes: includes, limit: nil, sort: nil, cursor: nil)
- return Client.instance.get("builds/#{build_id}", params)
- elsif app_store_version_id
- params = Client.instance.build_params(filter: nil, includes: includes, limit: nil, sort: nil, cursor: nil)
- return Client.instance.get("appStoreVersions/#{app_store_version_id}/build", params)
- else
- return nil
+ def get_build(build_id: nil, app_store_version_id: nil, includes: nil)
+ if build_id
+ params = @test_flight_request_client.build_params(filter: nil, includes: includes, limit: nil, sort: nil, cursor: nil)
+ return @test_flight_request_client.get("builds/#{build_id}", params)
+ elsif app_store_version_id
+ params = @test_flight_request_client.build_params(filter: nil, includes: includes, limit: nil, sort: nil, cursor: nil)
+ return @test_flight_request_client.get("appStoreVersions/#{app_store_version_id}/build", params)
+ else
+ return nil
+ end
end
- end
- def patch_builds(build_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- id: build_id,
- type: "builds"
+ def patch_builds(build_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ id: build_id,
+ type: "builds"
+ }
}
- }
- Client.instance.patch("builds/#{build_id}", body)
- end
+ @test_flight_request_client.patch("builds/#{build_id}", body)
+ end
- #
- # buildBetaDetails
- #
+ #
+ # buildBetaDetails
+ #
- def get_build_beta_details(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("buildBetaDetails", params)
- end
+ def get_build_beta_details(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("buildBetaDetails", params)
+ end
- def patch_build_beta_details(build_beta_details_id: nil, attributes: {})
- body = {
- data: {
- attributes: attributes,
- id: build_beta_details_id,
- type: "buildBetaDetails"
+ def patch_build_beta_details(build_beta_details_id: nil, attributes: {})
+ body = {
+ data: {
+ attributes: attributes,
+ id: build_beta_details_id,
+ type: "buildBetaDetails"
+ }
}
- }
- Client.instance.patch("buildBetaDetails/#{build_beta_details_id}", body)
- end
+ @test_flight_request_client.patch("buildBetaDetails/#{build_beta_details_id}", body)
+ end
- #
- # buildDeliveries
- #
+ #
+ # buildDeliveries
+ #
- def get_build_deliveries(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("buildDeliveries", params)
- end
+ def get_build_deliveries(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("buildDeliveries", params)
+ end
- #
- # preReleaseVersions
- #
+ #
+ # preReleaseVersions
+ #
- def get_pre_release_versions(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("preReleaseVersions", params)
- end
+ def get_pre_release_versions(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("preReleaseVersions", params)
+ end
- #
- # betaFeedbacks (private API as of end 2019)
- #
+ #
+ # betaFeedbacks (private API as of end 2019)
+ #
- def get_beta_feedback(filter: {}, includes: nil, limit: nil, sort: nil)
- params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
- Client.instance.get("betaFeedbacks", params)
- end
+ def get_beta_feedback(filter: {}, includes: nil, limit: nil, sort: nil)
+ params = @test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
+ @test_flight_request_client.get("betaFeedbacks", params)
+ end
- def delete_beta_feedback(feedback_id: nil)
- raise "Feedback id is nil" if feedback_id.nil?
+ def delete_beta_feedback(feedback_id: nil)
+ raise "Feedback id is nil" if feedback_id.nil?
- Client.instance.delete("betaFeedbacks/#{feedback_id}")
+ @test_flight_request_client.delete("betaFeedbacks/#{feedback_id}")
+ end
end
end
end
end