eve_esi_api/api/
characters.rs

1use crate::{errors::EveEsiError, ApiClient};
2
3use crate::Result;
4use crate::Verify;
5
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize, Debug)]
9pub struct Character {
10    pub name: String,
11    pub gender: String,
12}
13
14pub async fn logged_character(client: &ApiClient) -> Result<Verify> {
15    client.query_auth("oauth/verify".to_owned()).await
16}
17
18pub async fn public_infos(client: &ApiClient, id: usize) -> Result<Character> {
19    if let Some(character) = client.query_esi(format!("characters/{}/", id)).await? {
20        Ok(character)
21    } else {
22        Err(EveEsiError::LoginError)
23    }
24}