use super::ForgejoApi;
use crate::network::get::{call, ApiEndpoint};
use crate::network::ForgeApi;
use crate::network::{error, responses::ServerVersion};
use url::Url;
struct VersionEndpoint {
base_url: Url,
}
impl ApiEndpoint<ServerVersion> for VersionEndpoint {
fn url(&self) -> Url {
return self.base_url.join("version").unwrap();
}
}
pub fn get_version(api: &ForgejoApi) -> Result<ServerVersion, error::Error> {
let base_url = api.base_url().clone();
let endpoint = VersionEndpoint { base_url };
let server_version = call(&endpoint)?;
return Ok(server_version);
}