use super::{Character, CharacterAffiliation};
use crate::{get_public, post_public, Esi, EsiResult, Response};
impl Esi {
pub async fn get_character(
&self,
character_id: i32,
etag: Option<&str>,
) -> EsiResult<Response<Character>> {
let result =
get_public::<Character>(&format!("characters/{}", character_id), self, None, etag).await?;
Ok(result)
}
pub async fn get_character_agents_research(
&self,
character_id: i32,
etag: Option<&str>,
) -> EsiResult<Response<Vec<i32>>> {
let result = get_public::<Vec<i32>>(
&format!("characters/{}/agents_research", character_id),
self,
None,
etag,
)
.await?;
Ok(result)
}
pub async fn post_character_affiliations(
&self,
character_ids: Vec<i32>,
) -> EsiResult<Vec<CharacterAffiliation>> {
let result = post_public::<Vec<CharacterAffiliation>, Vec<i32>>(
"characters/affiliation",
self,
None,
&character_ids,
)
.await?;
Ok(result)
}
}