From 2c9cd5b9587bab8bab22d2f8fad4870f11a4cbdd Mon Sep 17 00:00:00 2001 From: Robert Garrett Date: Sat, 24 May 2025 18:13:39 -0500 Subject: [PATCH] Move list-releases code to its own function --- src/main.rs | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 51a8443..52075a7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,15 +27,14 @@ async fn main() -> Result<(), Error> { let client = reqwest::Client::new(); match args.command { gt_tools::cli::Commands::ListReleases => { - let response = client - .get(request_url) - .header(USER_AGENT, "gt-tools-test-agent") - .header(ACCEPT, "application/json") - .send() - .await?; - let body_text: Vec = response.json().await?; - - println!("{:?}", body_text); + let releases = do_list_releases( + &client, + "robert", + "rcalc" + ).await?; + for release in releases { + println!("{:?}", release); + } } gt_tools::cli::Commands::CreateRelease { name } => { let submission = CreateReleaseOption { @@ -53,6 +52,27 @@ async fn main() -> Result<(), Error> { Ok(()) } +async fn do_list_releases( + client: &reqwest::Client, + owner: &str, + repo: &str +) -> Result, 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 = response.json().await?; + return Ok(body_text); +} + #[must_use] async fn do_create_release( client: &reqwest::Client,