Files
Cultivation/src-tauri/src/release.rs
Thoronium f6f5eae31c Changes from 1.2.1 - 1.5.1
Contains slightly modified commits from between 1.2.1 and 1.5.1.
2024-10-30 13:18:07 -06:00

33 lines
815 B
Rust

#[derive(serde::Serialize, serde::Deserialize)]
pub struct Release {
pub tag_name: String,
pub link: String,
}
#[tauri::command]
pub async fn get_latest_release() -> Release {
let url = "https://api.github.com/repos/Grasscutters/Cultivation/releases/latest";
let client = reqwest::Client::new();
let response = client
.get(url)
.header("User-Agent", "Cultivation")
.send()
.await
.unwrap();
let text = response.text().await.unwrap();
//println!("Response: {}", text);
// Parse "tag_name" from JSON
let json: serde_json::Value = serde_json::from_str(&text).unwrap();
let tag_name = json["tag_name"].as_str().unwrap();
// Parse "html_url"
let link = json["html_url"].as_str().unwrap();
Release {
tag_name: tag_name.to_string(),
link: link.to_string(),
}
}