Skip to main content

esi_openapi/groups/
alliance.rs

1use crate::prelude::*;
2
3/// Endpoints for Alliance
4pub struct AllianceGroup<'a> {
5    pub(crate) esi: &'a Esi,
6}
7
8#[derive(Debug, Deserialize, Serialize, Clone)]
9#[allow(missing_docs)]
10pub struct AllianceInfo {
11    pub creator_corporation_id: i32,
12    pub creator_id: i32,
13    pub date_founded: String,
14    pub executor_corporation_id: Option<i32>,
15    pub faction_id: Option<i32>,
16    pub name: String,
17    pub ticker: String,
18}
19
20#[derive(Debug, Deserialize)]
21#[allow(missing_docs)]
22pub struct AllianceIcons {
23    pub px128x128: Option<String>,
24    pub px64x64: Option<String>,
25}
26
27impl AllianceGroup<'_> {
28    api_get!(
29        /// Get a list of alliance IDs.
30        list_ids,
31        "GetAlliances",
32        RequestType::Public,
33        Vec<i32>,
34    );
35
36    api_get!(
37        /// Get public information about an alliance.
38        get_info,
39        "GetAlliancesAllianceId",
40        RequestType::Public,
41        AllianceInfo,
42        (alliance_id: i32) => "{alliance_id}"
43    );
44
45    api_get!(
46        /// Get list of corporation IDs in an alliance.
47        get_alliance_corporations,
48        "GetAlliancesAllianceIdCorporations",
49        RequestType::Public,
50        Vec<i32>,
51        (alliance_id: i32) => "{alliance_id}"
52    );
53
54    api_get!(
55        /// Get paths to the alliance's icons on the image server.
56        get_alliance_icons,
57        "GetAlliancesAllianceIdIcons",
58        RequestType::Public,
59        AllianceIcons,
60        (alliance_id: i32) => "{alliance_id}"
61    );
62}