require "json"
require "tmpdir"

team_id = ENV["TEAM_ID"]
org_id  = ENV["A0_ORG_ID"]
raise "A0_ORG_ID is not set; cannot read credentials from bao" if org_id.nil? || org_id.empty?

secret = JSON.parse(`bao kv get -format=json secret/orgs/#{org_id}/credentials/app-store-connect/#{team_id}`)["data"]["data"]

api_key_path = File.join(Dir.tmpdir, "asc-#{team_id}.json")
File.write(api_key_path, secret["api_key_json"])
File.chmod(0o600, api_key_path)

ENV["MATCH_PASSWORD"] = secret["match_password"]

git_url("https://git.a0.dev/a0-match/#{team_id}")
git_branch("master")
storage_mode("git")
api_key_path(api_key_path)
app_identifier(ENV["APP_IDENTIFIER"])
keychain_name("login.keychain")
keychain_password(ENV["KEYCHAIN_PASSWORD"]) if ENV["KEYCHAIN_PASSWORD"]
