Implement the new ::api::list_releases function
This commit is contained in:
@@ -1,8 +1,37 @@
|
|||||||
|
|
||||||
pub fn get_release(){}
|
use crate::{
|
||||||
pub fn get_latest_release(){}
|
structs::release::Release, Result
|
||||||
pub fn list_releases(){}
|
};
|
||||||
pub fn create_release(){}
|
|
||||||
pub fn edit_release(){}
|
pub fn get_release(id: u64) -> Result<Release> { todo!(); }
|
||||||
pub fn delete_release(){}
|
pub fn get_latest_release() -> Result<Release> { todo!(); }
|
||||||
|
|
||||||
|
pub async fn list_releases(
|
||||||
|
client: &reqwest::Client,
|
||||||
|
gitea_url: &str,
|
||||||
|
repo: &str,
|
||||||
|
) -> Result<Vec<Release>> {
|
||||||
|
let request_url = format!("{gitea_url}/repos/{repo}/releases/");
|
||||||
|
let req = client
|
||||||
|
.get(request_url)
|
||||||
|
.send()
|
||||||
|
.await;
|
||||||
|
let response = req
|
||||||
|
.map_err(|reqwest_err| {
|
||||||
|
crate::Error::WrappedReqwestErr(reqwest_err)
|
||||||
|
})?;
|
||||||
|
let release_list = response
|
||||||
|
.json::<Vec<Release>>()
|
||||||
|
.await
|
||||||
|
.map_err(|reqwest_err| {
|
||||||
|
// Convert reqwest errors to my own
|
||||||
|
// TODO: Create all error variants (see lib.rs)
|
||||||
|
crate::Error::WrappedReqwestErr(reqwest_err)
|
||||||
|
})?;
|
||||||
|
return Ok(release_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn create_release() -> Result<Release> { todo!(); }
|
||||||
|
pub fn edit_release(id: u64) -> Result<Release> { todo!(); }
|
||||||
|
pub fn delete_release(id: u64) -> Result<()> { todo!(); }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user