class Flow::Cli::Utils::FlowApiManager
Attributes
current_flow_id[RW]
current_org_id[RW]
current_project_id[RW]
current_project_name[RW]
email[RW]
password[RW]
user_access_token[RW]
Public Class Methods
load_from_db()
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 133 def load_from_db dict = DbManager.read new(dict) end
login(email, password)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 127 def login(email, password) dict = FlowApiRest.post("/login", login: email, password: password) DbManager.save(email: email, password: password, user_access_token: dict[:access_token]) { email: email, password: password, user_access_token: dict[:access_token] } end
new(hash = {}) { |self| ... }
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 9 def initialize(hash = {}) %i[email password user_access_token].each do |item| send "#{item}=", hash[item.to_s] end yield self if block_given? end
Public Instance Methods
delete_p12(p12_id, flow_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 52 def delete_p12(p12_id, flow_id) send_to_api(:delete, "/certificates/#{p12_id}", flow_id: flow_id) end
delete_provision(mobileprovisions_id, flow_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 66 def delete_provision(mobileprovisions_id, flow_id) send_to_api(:delete, "/mobileprovisions/#{mobileprovisions_id}", flow_id: flow_id) end
fetch_flow(flow_id, project_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 70 def fetch_flow(flow_id, project_id) send_to_api(:get, "/flows/#{flow_id}", project_id: project_id) end
fetch_flows(project_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 36 def fetch_flows(project_id) send_to_api(:get, "/projects/#{project_id}/flows") end
fetch_latest_jobs(flow_id, project_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 74 def fetch_latest_jobs(flow_id, project_id) answer = send_to_api(:get, "/projects/#{project_id}/jobs", flow_id: flow_id) answer[:list] || [] end
fetch_orgs()
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 20 def fetch_orgs raw_orgs = FlowApiRest.get("/orgs", access_token: user_access_token) raw_orgs.map do |org| org.slice(:id, :name) end end
fetch_project(project_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 32 def fetch_project(project_id) send_to_apapi_manageri(:get, "/projects/#{project_id}") end
fetch_projects(specify_org_id = nil)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 27 def fetch_projects(specify_org_id = nil) org_id = specify_org_id || current_org_id send_to_api(:get, "/projects", { org_id: org_id }, %i[id name git_url source]) end
fetch_user()
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 16 def fetch_user send_to_api("get", "/user") end
init_access_token()
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 96 def init_access_token answer = self.class.login(email, password) self.user_access_token = answer[:access_token] end
load_p12s(flow_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 48 def load_p12s(flow_id) send_to_api(:get, "/flows/#{flow_id}/certificates") end
load_provisions(flow_id)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 62 def load_provisions(flow_id) send_to_api(:get, "/flows/#{flow_id}/mobileprovisions") end
login(email, password)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 114 def login(email, password) hash = self.class.login(email, password) %i[email password user_access_token].each do |item| send "#{item}=", hash[item] end end
refresh_login() { || ... }
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 101 def refresh_login(&proc) fetch_user rescue FlowApiError puts "login fail, relogin..." tmp_email = nil tmp_password = nil tmp_email, tmp_password = yield unless proc.nil? self.email = tmp_email || email self.password = tmp_password || password login(email, password) self end
run_manual_job(flow_id, project_id, branch)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 79 def run_manual_job(flow_id, project_id, branch) send_to_api(:post, "/projects/#{project_id}/manual_hook", flow_id: flow_id, branch: branch) end
send_to_api(action, url, params = {}, slice_items = nil, need_access_token = true)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 84 def send_to_api(action, url, params = {}, slice_items = nil, need_access_token = true) params[:access_token] = user_access_token if need_access_token params.compact! raw_answer = FlowApiRest.send(action, url, params) return raw_answer if slice_items.nil? raise "slice need be a array with symbols" unless slice_items.is_a? Array return raw_answer.map { |item| item.slice(*slice_items) } if raw_answer.is_a? Array raw_answer.slice(*slice_items) end
standard_file(file)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 121 def standard_file(file) return File.open(file) if file.is_a?(String) file end
upload_p12(flow_id, file, password = nil)
click to toggle source
5909e8c4ef2cb07bcefc3dbd
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 41 def upload_p12(flow_id, file, password = nil) send_to_api(:post, "/flows/#{flow_id}/certificates", file: standard_file(file), type: "ios", password: password) end
upload_provision(flow_id, file)
click to toggle source
# File lib/flow/cli/utils/api/flow_api_manager.rb, line 56 def upload_provision(flow_id, file) send_to_api(:post, "/flows/#{flow_id}/mobileprovisions", file: standard_file(file), flow_id: flow_id) end