Class: Fastlane::Helper::RustoredHelper
- Inherits:
-
Object
- Object
- Fastlane::Helper::RustoredHelper
- Defined in:
- lib/fastlane/plugin/rustored/helper/rustored_helper.rb
Constant Summary collapse
- BASE_URL =
'https://public-api.rustore.ru'
Class Method Summary collapse
- .client ⇒ Object
- .publish_aab(key_id:, private_key:, package_name:, version_id:, aab_path:) ⇒ Object
- .publish_apk(key_id:, private_key:, package_name:, version_id:, services_type:, is_main_apk:, apk_path:) ⇒ Object
Class Method Details
.client ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fastlane/plugin/rustored/helper/rustored_helper.rb', line 13 def self.client @client ||= Faraday.new(url: BASE_URL) do |f| f.request(:multipart) f.response(:json) end end |
.publish_aab(key_id:, private_key:, package_name:, version_id:, aab_path:) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fastlane/plugin/rustored/helper/rustored_helper.rb', line 20 def self.publish_aab(key_id:, private_key:, package_name:, version_id:, aab_path:) UI.user_error!("AAB file not found: #{aab_path}") unless File.file?(aab_path) UI.("Uploading AAB to RuStore...") token = RustoredTokenHelper.get_token(key_id: key_id, private_key: private_key) response = client.post("/public/v1/application/#{package_name}/version/#{version_id}/aab") do |req| req.headers['Public-Token'] = token req.body = { file: Faraday::UploadIO.new(aab_path, 'application/octet-stream') } end check_response!(response, 'AAB') UI.success("AAB uploaded successfully!") rescue Faraday::Error => e UI.user_error!("Failed to upload AAB: #{e.message}") end |
.publish_apk(key_id:, private_key:, package_name:, version_id:, services_type:, is_main_apk:, apk_path:) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/fastlane/plugin/rustored/helper/rustored_helper.rb', line 39 def self.publish_apk(key_id:, private_key:, package_name:, version_id:, services_type:, is_main_apk:, apk_path:) UI.user_error!("APK file not found: #{apk_path}") unless File.file?(apk_path) UI.("Uploading APK to RuStore...") token = RustoredTokenHelper.get_token(key_id: key_id, private_key: private_key) response = client.post("/public/v1/application/#{package_name}/version/#{version_id}/apk") do |req| req.headers['Public-Token'] = token req.params['servicesType'] = services_type if services_type req.params['isMainApk'] = is_main_apk req.body = { file: Faraday::UploadIO.new(apk_path, 'application/octet-stream') } end check_response!(response, 'APK') UI.success("APK uploaded successfully!") rescue Faraday::Error => e UI.user_error!("Failed to upload APK: #{e.message}") end |