app_store_connect_api_client 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +41 -0
  4. data/CHANGELOG.md +9 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/Gemfile +5 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +94 -0
  9. data/Rakefile +10 -0
  10. data/app_store_connect_api.gemspec +41 -0
  11. data/lib/app_store_connect_api/authorization.rb +36 -0
  12. data/lib/app_store_connect_api/client.rb +92 -0
  13. data/lib/app_store_connect_api/domain/age_rating_declarations.rb +14 -0
  14. data/lib/app_store_connect_api/domain/app_availabilities.rb +24 -0
  15. data/lib/app_store_connect_api/domain/app_categories.rb +27 -0
  16. data/lib/app_store_connect_api/domain/app_info_localizations.rb +31 -0
  17. data/lib/app_store_connect_api/domain/app_infos.rb +59 -0
  18. data/lib/app_store_connect_api/domain/app_price_points.rb +17 -0
  19. data/lib/app_store_connect_api/domain/app_price_schedules.rb +35 -0
  20. data/lib/app_store_connect_api/domain/app_store_version_localizations.rb +31 -0
  21. data/lib/app_store_connect_api/domain/app_store_version_phased_releases.rb +26 -0
  22. data/lib/app_store_connect_api/domain/app_store_version_release_requests.rb +13 -0
  23. data/lib/app_store_connect_api/domain/app_store_versions.rb +77 -0
  24. data/lib/app_store_connect_api/domain/apps.rb +125 -0
  25. data/lib/app_store_connect_api/domain/beta_app_localizations.rb +41 -0
  26. data/lib/app_store_connect_api/domain/beta_app_review_details.rb +29 -0
  27. data/lib/app_store_connect_api/domain/beta_app_review_submissions.rb +28 -0
  28. data/lib/app_store_connect_api/domain/beta_build_localizations.rb +41 -0
  29. data/lib/app_store_connect_api/domain/beta_groups.rb +81 -0
  30. data/lib/app_store_connect_api/domain/beta_license_agreements.rb +29 -0
  31. data/lib/app_store_connect_api/domain/beta_tester_invitations.rb +14 -0
  32. data/lib/app_store_connect_api/domain/beta_testers.rb +84 -0
  33. data/lib/app_store_connect_api/domain/build_beta_details.rb +29 -0
  34. data/lib/app_store_connect_api/domain/build_beta_notifications.rb +13 -0
  35. data/lib/app_store_connect_api/domain/builds.rb +105 -0
  36. data/lib/app_store_connect_api/domain/bundle_id_capabilities.rb +28 -0
  37. data/lib/app_store_connect_api/domain/bundle_ids.rb +50 -0
  38. data/lib/app_store_connect_api/domain/certificates.rb +29 -0
  39. data/lib/app_store_connect_api/domain/customer_reviews.rb +12 -0
  40. data/lib/app_store_connect_api/domain/devices.rb +31 -0
  41. data/lib/app_store_connect_api/domain/prerelease_versions.rb +27 -0
  42. data/lib/app_store_connect_api/domain/profiles.rb +44 -0
  43. data/lib/app_store_connect_api/domain/review_submission_items.rb +25 -0
  44. data/lib/app_store_connect_api/domain/review_submissions.rb +36 -0
  45. data/lib/app_store_connect_api/domain/sandbox_testers.rb +25 -0
  46. data/lib/app_store_connect_api/domain/user_invitations.rb +36 -0
  47. data/lib/app_store_connect_api/domain/users.rb +55 -0
  48. data/lib/app_store_connect_api/domain.rb +77 -0
  49. data/lib/app_store_connect_api/utils/hash_utils.rb +22 -0
  50. data/lib/app_store_connect_api/utils/relationship_mapper.rb +47 -0
  51. data/lib/app_store_connect_api/utils/string_utils.rb +31 -0
  52. data/lib/app_store_connect_api/version.rb +5 -0
  53. data/lib/app_store_connect_api.rb +28 -0
  54. metadata +198 -0
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module AppPriceSchedules
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_an_app_s_price_schedule_information
7
+ def app_price_schedule(app_price_schedule_id, options = {})
8
+ get "/v1/appPriceSchedules/#{app_price_schedule_id}", options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/add_a_scheduled_price_change_to_an_app
12
+ def create_app_price_schedule(relationships, app_price_ids = [], territory_ids = [])
13
+ post '/v1/appPriceSchedules', data: { relationships: Utils::RelationshipMapper.expand(relationships, 'manualPrices' => 'appPrices', 'baseTerritories' => 'territories'),
14
+ included: Utils::RelationshipMapper.resource_keys(app_price_ids, 'appPrices') +
15
+ Utils::RelationshipMapper.resource_keys(territory_ids, 'territories'),
16
+ type: 'appPriceSchedules' }
17
+ end
18
+
19
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_automatically_generated_prices_for_an_app
20
+ def app_price_schedule_automatic_prices(app_price_schedule_id, options = {})
21
+ get "/v1/appPriceSchedules/#{app_price_schedule_id}/automaticPrices", options
22
+ end
23
+
24
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_manually_chosen_prices_for_an_app
25
+ def app_price_schedule_manual_prices(app_price_schedule_id, options = {})
26
+ get "/v1/appPriceSchedules/#{app_price_schedule_id}/manualPrices", options
27
+ end
28
+
29
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_base_territory_for_an_app_s_price_schedule
30
+ def app_price_schedule_base_territory(app_price_schedule_id, options = {})
31
+ get "/v1/appPriceSchedules/#{app_price_schedule_id}/baseTerritory", options
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module AppStoreVersionLocalizations
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_store_version_localization_information
7
+ def app_store_version_localization(app_store_version_localization_id, options = {})
8
+ get "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}", options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version_localization
12
+ def create_app_store_version_localization(attributes, relationships)
13
+ post '/v1/appStoreVersionLocalizations', data: { attributes: attributes,
14
+ relationships: Utils::RelationshipMapper.expand(relationships),
15
+ type: 'appStoreVersionLocalizations' }
16
+ end
17
+
18
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_localization
19
+ def update_app_store_version_localization(app_store_version_localization_id, attributes)
20
+ patch "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}", data: { attributes: attributes,
21
+ id: app_store_version_localization_id,
22
+ type: 'appStoreVersionLocalizations' }
23
+ end
24
+
25
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version_localization
26
+ def delete_app_store_version_localization(app_store_version_localization_id)
27
+ delete "/v1/appStoreVersionLocalizations/#{app_store_version_localization_id}"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module AppStoreVersionPhasedReleases
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version_phased_release
7
+ def create_app_store_version_phased_release(attributes, relationships)
8
+ post '/v1/appStoreVersionPhasedReleases', data: { attributes: attributes,
9
+ relationships: Utils::RelationshipMapper.expand(relationships),
10
+ type: 'appStoreVersionPhasedReleases' }
11
+ end
12
+
13
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version_phased_release
14
+ def update_app_store_version_phased_release(app_store_version_phased_release_id, attributes)
15
+ patch "/v1/appStoreVersionPhasedReleases/#{app_store_version_phased_release_id}", data: { attributes: attributes,
16
+ id: app_store_version_phased_release_id,
17
+ type: 'appStoreVersionPhasedReleases' }
18
+ end
19
+
20
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version_phased_release
21
+ def delete_app_store_version_phased_release(app_store_version_phased_release_id)
22
+ delete "/v1/appStoreVersionPhasedReleases/#{app_store_version_phased_release_id}"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module AppStoreVersionReleaseRequests
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/manually_release_an_app_store_approved_version_of_your_app
7
+ def create_app_store_version_release_request(relationships)
8
+ post '/v1/appStoreVersionReleaseRequests', data: { relationships: Utils::RelationshipMapper.expand(relationships),
9
+ type: 'appStoreVersionReleaseRequests' }
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module AppStoreVersions
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_store_version_information
7
+ def app_store_version(app_store_version_id, options = {})
8
+ get "/v1/appStoreVersions/#{app_store_version_id}", options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_an_app_store_version
12
+ def create_app_store_version(attributes, relationships)
13
+ post '/v1/appStoreVersions', data: { attributes: attributes,
14
+ relationships: Utils::RelationshipMapper.expand(relationships),
15
+ type: 'appStoreVersions' }
16
+ end
17
+
18
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app_store_version
19
+ def update_app_store_version(app_store_version_id, attributes = {}, relationships = {})
20
+ patch "/v1/appStoreVersions/#{app_store_version_id}", data: { attributes: attributes,
21
+ relationships: Utils::RelationshipMapper.expand(relationships),
22
+ id: app_store_version_id,
23
+ type: 'appStoreVersions' }
24
+ end
25
+
26
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_an_app_store_version
27
+ def delete_app_store_version(app_store_version_id)
28
+ delete "/v1/appStoreVersions/#{app_store_version_id}"
29
+ end
30
+
31
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_an_app_store_version
32
+ def app_store_version_build(app_store_version_id, options = {})
33
+ get "/v1/appStoreVersions/#{app_store_version_id}/build", options
34
+ end
35
+
36
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/get_the_build_id_for_an_app_store_version
37
+ def app_store_version_build_id(app_store_version_id)
38
+ get "/v1/appStoreVersions/#{app_store_version_id}/relationships/build"
39
+ end
40
+
41
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_the_build_for_an_app_store_version
42
+ def update_app_store_version_build(app_store_version_id, build_id)
43
+ patch "/v1/appStoreVersions/#{app_store_version_id}/relationships/build", data: { id: build_id, type: 'builds' }
44
+ end
45
+
46
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/get_v1_appstoreversions_id_appstoreversionexperiments
47
+ def app_store_version_app_store_version_experiments(app_store_version_id, options = {})
48
+ get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionExperiments", options
49
+ end
50
+
51
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_version_localizations_for_an_app_store_version
52
+ def app_store_version_app_store_version_localizations(app_store_version_id, options = {})
53
+ get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionLocalizations", options
54
+ end
55
+
56
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_store_version_phased_release_information_of_an_app_store_version
57
+ def app_store_version_app_store_version_phased_release(app_store_version_id, options = {})
58
+ get "/v1/appStoreVersions/#{app_store_version_id}/appStoreVersionPhasedRelease", options
59
+ end
60
+
61
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_store_review_details_resource_information_of_an_app_store_version
62
+ def app_store_version_app_store_review_detail(app_store_version_id, options = {})
63
+ get "/v1/appStoreVersions/#{app_store_version_id}/appStoreReviewDetail", options
64
+ end
65
+
66
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_routing_app_coverage_information_of_an_app_store_version
67
+ def app_store_version_routing_app_coverage(app_store_version_id, options = {})
68
+ get "/v1/appStoreVersions/#{app_store_version_id}/routingAppCoverage", options
69
+ end
70
+
71
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_customer_reviews_for_an_app_store_version
72
+ def app_store_version_customer_reviews(app_store_version_id, options = {})
73
+ get "/v1/appStoreVersions/#{app_store_version_id}/customerReviews", options
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module Apps
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_apps
7
+ def apps(options = {})
8
+ get '/v1/apps', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_app_information
12
+ def app(app_id, options = {})
13
+ get "/v1/apps/#{app_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app
17
+ def update_app(app_id, attributes = {}, app_price_ids = [])
18
+ patch "/v1/apps/#{app_id}", data: { attributes: attributes,
19
+ id: app_id,
20
+ type: 'apps' },
21
+ included: Utils::RelationshipMapper.resource_keys(app_price_ids, 'appPrices')
22
+ end
23
+
24
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_groups_for_an_app
25
+ def app_beta_groups(app_id, options = {})
26
+ get "/v1/apps/#{app_id}/betaGroups", options
27
+ end
28
+
29
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/remove_specified_beta_testers_from_all_groups_and_builds_of_an_app
30
+ def remove_app_beta_testers(app_id, beta_tester_ids)
31
+ delete "/v1/apps/#{app_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
32
+ end
33
+
34
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_beta_app_review_details_resource_of_an_app
35
+ def app_beta_app_review_detail(app_id, options = {})
36
+ get "/v1/apps/#{app_id}/betaAppReviewDetail", options
37
+ end
38
+
39
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_beta_license_agreement_of_an_app
40
+ def app_beta_license_agreement(app_id, options = {})
41
+ get "/v1/apps/#{app_id}/betaLicenseAgreement", options
42
+ end
43
+
44
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_app_localizations_of_an_app
45
+ def app_beta_app_localizations(app_id, options = {})
46
+ get "/v1/apps/#{app_id}/betaAppLocalizations", options
47
+ end
48
+
49
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_builds_of_an_app
50
+ def app_builds(app_id, options = {})
51
+ get "/v1/apps/#{app_id}/builds", options
52
+ end
53
+
54
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_prerelease_versions_for_an_app
55
+ def app_prerelease_versions(app_id, options = {})
56
+ get "/v1/apps/#{app_id}/preReleaseVersions", options
57
+ end
58
+
59
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_clips_for_an_app
60
+ def app_app_clips(app_id, options = {})
61
+ get "/v1/apps/#{app_id}/appClips", options
62
+ end
63
+
64
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_price_points_for_an_app
65
+ def app_app_price_points(app_id, options = {})
66
+ get "/v1/apps/#{app_id}/appPricePoints", options
67
+ end
68
+
69
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_versions_for_an_app
70
+ def app_app_store_versions(app_id, options = {})
71
+ get "/v1/apps/#{app_id}/appStoreVersions", options
72
+ end
73
+
74
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_infos_for_an_app
75
+ def app_app_infos(app_id, options = {})
76
+ get "/v1/apps/#{app_id}/appInfos", options
77
+ end
78
+
79
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_pre-order_information_of_an_app
80
+ def app_pre_order(app_id, options = {})
81
+ get "/v1/apps/#{app_id}/preOrder", options
82
+ end
83
+
84
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_end_user_license_agreement_information_of_an_app
85
+ def app_end_user_license_agreement(app_id, options = {})
86
+ get "/v1/apps/#{app_id}/endUserLicenseAgreement", options
87
+ end
88
+
89
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_custom_product_pages_for_an_app
90
+ def app_app_custom_product_pages(app_id, options = {})
91
+ get "/v1/apps/#{app_id}/appCustomProductPages", options
92
+ end
93
+
94
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_in-app_purchases_for_an_app
95
+ def app_in_app_purchases(app_id, options = {})
96
+ get "/v1/apps/#{app_id}/inAppPurchasesV2", options
97
+ end
98
+
99
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_promoted_purchases_for_an_app
100
+ def app_promoted_purchases(app_id, options = {})
101
+ get "/v1/apps/#{app_id}/promotedPurchases", options
102
+ end
103
+
104
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/get_review_submissions_for_an_app
105
+ def app_review_submissions(app_id, options = {})
106
+ get "/v1/apps/#{app_id}/reviewSubmissions", options
107
+ end
108
+
109
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_customer_reviews_for_an_app
110
+ def app_customer_reviews(app_id, options = {})
111
+ get "/v1/apps/#{app_id}/customerReviews", options
112
+ end
113
+
114
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_price_schedule_information_for_an_app
115
+ def app_app_price_schedule(app_id, options = {})
116
+ get "/v1/apps/#{app_id}/appPriceSchedule", options
117
+ end
118
+
119
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_availability_for_an_app
120
+ def app_app_availability(app_id, options = {})
121
+ get "/v1/apps/#{app_id}/appAvailability", options
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaAppLocalizations
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_localizations
7
+ def beta_app_localizations(options = {})
8
+ get '/v1/betaAppLocalizations', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_localization_information
12
+ def beta_app_localization(beta_app_localization_id, options = {})
13
+ get "/v1/betaAppLocalizations/#{beta_app_localization_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_app_localization
17
+ def create_beta_app_localization(attributes, relationships)
18
+ post '/v1/betaAppLocalizations', data: { attributes: attributes,
19
+ relationships: Utils::RelationshipMapper.expand(relationships),
20
+ type: 'betaAppLocalizations' }
21
+ end
22
+
23
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_app_localization
24
+ def update_beta_app_localization(beta_app_localization_id, attributes)
25
+ patch "/v1/betaAppLocalizations/#{beta_app_localization_id}", data: { attributes: attributes,
26
+ id: beta_app_localization_id,
27
+ type: 'betaAppLocalizations' }
28
+ end
29
+
30
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_app_localization
31
+ def delete_beta_app_localization(beta_app_localization_id)
32
+ delete "/v1/betaAppLocalizations/#{beta_app_localization_id}"
33
+ end
34
+
35
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_app_localization
36
+ def beta_app_localization_app(beta_app_localization_id, options = {})
37
+ get "/v1/betaAppLocalizations/#{beta_app_localization_id}/app", options
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaAppReviewDetails
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_review_details
7
+ def beta_app_review_details(options = {})
8
+ get '/v1/betaAppReviewDetails', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_review_detail_information
12
+ def beta_app_review_detail(beta_app_review_detail_id, options = {})
13
+ get "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_app_review_detail
17
+ def update_beta_app_review_detail(beta_app_review_detail_id, attributes)
18
+ patch "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}", data: { attributes: attributes,
19
+ id: beta_app_review_detail_id,
20
+ type: 'betaAppReviewDetails' }
21
+ end
22
+
23
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_app_review_detail
24
+ def beta_app_review_detail_app(beta_app_review_detail_id, options = {})
25
+ get "/v1/betaAppReviewDetails/#{beta_app_review_detail_id}/app", options
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaAppReviewSubmissions
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_app_review_submissions
7
+ def beta_app_review_submissions(options = {})
8
+ get '/v1/betaAppReviewSubmissions', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_app_review_submission_information
12
+ def beta_app_review_submission(beta_app_review_submission_id, options = {})
13
+ get "/v1/betaAppReviewSubmissions/#{beta_app_review_submission_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/submit_an_app_for_beta_review
17
+ def create_beta_app_review_submission(relationships)
18
+ post '/v1/betaAppReviewSubmissions', data: { relationships: Utils::RelationshipMapper.expand(relationships),
19
+ type: 'betaAppReviewSubmissions' }
20
+ end
21
+
22
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_a_beta_app_review_submission
23
+ def beta_app_review_submission_build(beta_app_review_submission_id, options = {})
24
+ get "/v1/betaAppReviewSubmissions/#{beta_app_review_submission_id}/build", options
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaBuildLocalizations
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_build_localizations
7
+ def beta_build_localizations(options = {})
8
+ get '/v1/betaBuildLocalizations', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_build_localization_information
12
+ def beta_build_localization(beta_build_localization_id, options = {})
13
+ get "/v1/betaBuildLocalizations/#{beta_build_localization_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_build_localization
17
+ def create_beta_build_localization(attributes, relationships)
18
+ post '/v1/betaBuildLocalizations', data: { attributes: attributes,
19
+ relationships: Utils::RelationshipMapper.expand(relationships),
20
+ type: 'betaBuildLocalizations' }
21
+ end
22
+
23
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_build_localization
24
+ def update_beta_build_localization(beta_build_localization_id, attributes)
25
+ patch "/v1/betaBuildLocalizations/#{beta_build_localization_id}", data: { attributes: attributes,
26
+ id: beta_build_localization_id,
27
+ type: 'betaBuildLocalizations' }
28
+ end
29
+
30
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_build_localization
31
+ def delete_beta_build_localization(beta_build_localization_id)
32
+ delete "/v1/betaBuildLocalizations/#{beta_build_localization_id}"
33
+ end
34
+
35
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_build_information_of_a_beta_build_localization
36
+ def beta_build_localization_build(beta_build_localization_id, options = {})
37
+ get "/v1/betaBuildLocalizations/#{beta_build_localization_id}/build", options
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaGroups
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_groups
7
+ def beta_groups(options = {})
8
+ get '/v1/betaGroups', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_group_information
12
+ def beta_group(beta_group_id, options = {})
13
+ get "/v1/betaGroups/#{beta_group_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/create_a_beta_group
17
+ def create_beta_group(attributes, relationships)
18
+ post '/v1/betaGroups', data: { attributes: attributes,
19
+ relationships: Utils::RelationshipMapper.expand(relationships),
20
+ type: 'betaGroups' }
21
+ end
22
+
23
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_group
24
+ def update_beta_group(beta_group_id, attributes)
25
+ patch "/v1/betaGroups/#{beta_group_id}", data: { attributes: attributes,
26
+ id: beta_group_id,
27
+ type: 'betaGroups' }
28
+ end
29
+
30
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/delete_a_beta_group
31
+ def delete_beta_group(beta_group_id)
32
+ delete "/v1/betaGroups/#{beta_group_id}"
33
+ end
34
+
35
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_group
36
+ def beta_group_app(beta_group_id, options = {})
37
+ get "/v1/betaGroups/#{beta_group_id}/app", options
38
+ end
39
+
40
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_beta_testers_in_a_beta_group
41
+ def beta_group_beta_testers(beta_group_id, options = {})
42
+ get "/v1/betaGroups/#{beta_group_id}/betaTesters", options
43
+ end
44
+
45
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/get_all_beta_tester_ids_in_a_beta_group
46
+ def beta_group_beta_tester_ids(beta_group_id, options = {})
47
+ get "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", options
48
+ end
49
+
50
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/add_beta_testers_to_a_beta_group
51
+ def add_beta_group_beta_testers(beta_group_id, beta_tester_ids)
52
+ post "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
53
+ end
54
+
55
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/remove_beta_testers_from_a_beta_group
56
+ def remove_beta_group_beta_testers(beta_group_id, beta_tester_ids)
57
+ delete "/v1/betaGroups/#{beta_group_id}/relationships/betaTesters", data: Utils::RelationshipMapper.resource_keys(beta_tester_ids, 'betaTesters')
58
+ end
59
+
60
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_all_builds_for_a_beta_group
61
+ def beta_group_builds(beta_group_id, options = {})
62
+ get "/v1/betaGroups/#{beta_group_id}/builds", options
63
+ end
64
+
65
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/get_all_build_ids_in_a_beta_group
66
+ def beta_group_build_ids(beta_group_id, options = {})
67
+ get "/v1/betaGroups/#{beta_group_id}/relationships/builds", options
68
+ end
69
+
70
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/add_builds_to_a_beta_group
71
+ def add_beta_group_builds(beta_group_id, build_ids)
72
+ post "/v1/betaGroups/#{beta_group_id}/relationships/builds", data: Utils::RelationshipMapper.resource_keys(build_ids, 'builds')
73
+ end
74
+
75
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/remove_builds_from_a_beta_group
76
+ def remove_beta_group_builds(beta_group_id, build_ids)
77
+ delete "/v1/betaGroups/#{beta_group_id}/relationships/builds", data: Utils::RelationshipMapper.resource_keys(build_ids, 'builds')
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaLicenseAgreements
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/list_beta_license_agreements
7
+ def beta_license_agreements(options = {})
8
+ get '/v1/betaLicenseAgreements', options
9
+ end
10
+
11
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_beta_license_agreement_information
12
+ def beta_license_agreement(beta_license_agreement_id, options = {})
13
+ get "/v1/betaLicenseAgreements/#{beta_license_agreement_id}", options
14
+ end
15
+
16
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/modify_a_beta_license_agreement
17
+ def update_beta_license_agreement(beta_license_agreement_id, attributes)
18
+ patch "/v1/betaLicenseAgreements/#{beta_license_agreement_id}", data: { attributes: attributes,
19
+ id: beta_license_agreement_id,
20
+ type: 'betaLicenseAgreements' }
21
+ end
22
+
23
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/read_the_app_information_of_a_beta_license_agreement
24
+ def beta_license_agreement_app(beta_license_agreement_id, options = {})
25
+ get "/v1/betaLicenseAgreements/#{beta_license_agreement_id}/app", options
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AppStoreConnectApi
4
+ module Domain
5
+ module BetaTesterInvitations
6
+ # @see https://developer.apple.com/documentation/appstoreconnectapi/send_an_invitation_to_a_beta_tester
7
+ def create_beta_tester_invitation(relationships)
8
+ post '/v1/betaTesterInvitations', data: { relationships: Utils::RelationshipMapper.expand(relationships),
9
+ type: 'betaTesterInvitations' }
10
+ end
11
+ alias invite_beta_tester create_beta_tester_invitation
12
+ end
13
+ end
14
+ end