Move list-releases code to its own function

This commit is contained in:
2025-05-24 18:13:39 -05:00
parent f7ba2e99aa
commit 2c9cd5b958

View File

@@ -27,15 +27,14 @@ async fn main() -> Result<(), Error> {
let client = reqwest::Client::new(); let client = reqwest::Client::new();
match args.command { match args.command {
gt_tools::cli::Commands::ListReleases => { gt_tools::cli::Commands::ListReleases => {
let response = client let releases = do_list_releases(
.get(request_url) &client,
.header(USER_AGENT, "gt-tools-test-agent") "robert",
.header(ACCEPT, "application/json") "rcalc"
.send() ).await?;
.await?; for release in releases {
let body_text: Vec<ReleaseInfo> = response.json().await?; println!("{:?}", release);
}
println!("{:?}", body_text);
} }
gt_tools::cli::Commands::CreateRelease { name } => { gt_tools::cli::Commands::CreateRelease { name } => {
let submission = CreateReleaseOption { let submission = CreateReleaseOption {
@@ -53,6 +52,27 @@ async fn main() -> Result<(), Error> {
Ok(()) Ok(())
} }
async fn do_list_releases(
client: &reqwest::Client,
owner: &str,
repo: &str
) -> Result<Vec<ReleaseInfo>, Error> {
let request_url = format!(
"{hostname}{front}{owner}{repo}{back}",
hostname = API_HOSTNAME,
front = API_RELEASE_FRONT,
back = API_RELEASE_BACK
);
let response = client
.get(request_url)
.header(USER_AGENT, "gt-tools-test-agent")
.header(ACCEPT, "application/json")
.send()
.await?;
let body_text: Vec<ReleaseInfo> = response.json().await?;
return Ok(body_text);
}
#[must_use] #[must_use]
async fn do_create_release( async fn do_create_release(
client: &reqwest::Client, client: &reqwest::Client,