alterware-launcher/src/github.rs

23 lines
705 B
Rust
Raw Normal View History

2023-08-29 00:47:40 -04:00
use semver::Version;
2023-08-30 06:46:13 -04:00
pub fn latest_tag(owner: &str, repo: &str) -> String {
2023-08-29 00:47:40 -04:00
let github_body = crate::http::get_body_string(
format!(
"https://api.github.com/repos/{}/{}/releases/latest",
2023-08-29 15:53:47 -04:00
owner, repo
2023-08-29 00:47:40 -04:00
)
.as_str(),
);
let github_json: serde_json::Value = serde_json::from_str(&github_body).unwrap();
github_json["tag_name"].to_string().replace('"', "")
2023-08-29 15:53:47 -04:00
}
pub fn latest_version(owner: &str, repo: &str) -> Version {
let tag = latest_tag(owner, repo).replace('v', "");
Version::parse(&tag).unwrap()
2023-08-29 00:47:40 -04:00
}
2023-08-29 15:53:47 -04:00
pub fn latest_release_url(owner: &str, repo: &str) -> String {
format!("https://github.com/{}/{}/releases/latest", owner, repo)
2023-08-29 00:47:40 -04:00
}