use reqwest::Client;
use serde::Deserialize;
#[derive(Deserialize)]
pub struct GithubRelease {
pub id: u32,
pub tag_name: String,
pub name: String,
pub body: Option<String>,
pub assets: Vec<GithubAsset>,
}
#[derive(Deserialize)]
pub struct GithubAsset {
pub name: String,
pub content_type: String,
pub browser_download_url: String,
}
pub async fn get_github_releases(
owner: &str,
repo: &str,
client: &Client,
) -> anyhow::Result<Vec<GithubRelease>> {
crate::download::json(
&format!("https://api.github.com/repos/{owner}/{repo}/releases"),
client,
)
.await
}