use crate::client::Client;
use crate::error::Error;
use crate::model::AdvancedResponse;
impl Client {
pub async fn get_user_advanced_with_id(&self, user_id: u32) -> Result<AdvancedResponse, Error>{
Ok(self.get_user_advanced_with_id_option(Some(user_id)).await?)
}
pub async fn get_user_advanced(&self) -> Result<AdvancedResponse, Error>{
Ok(self.get_user_advanced_with_id_option(None).await?)
}
async fn get_user_advanced_with_id_option(&self, user_id: Option<u32>) -> Result<AdvancedResponse, Error>{
let url = match user_id {
Some(id) => {
format!("{}/user/?type=advanced&id={}&key={}", self.api_url, id, self.api_key)
}
None => {
format!("{}/user/?type=advanced&key={}", self.api_url, self.api_key)
}
};
let response = self.http_client.get(&url).send().await?;
let advanced: AdvancedResponse = response.json().await?;
Ok(advanced)
}
}