esi_openapi/groups/
corporation.rs1use crate::prelude::*;
2
3#[derive(Debug, Deserialize, Serialize, Clone)]
4#[allow(missing_docs)]
5pub struct CorporationPublicInfo {
6 pub alliance_id: Option<i32>,
7 pub ceo_id: Option<i32>,
8 pub creator_id: Option<i32>,
9 pub date_founded: Option<String>,
10 pub description: Option<String>,
11 pub enlisted_faction_id: Option<i32>,
12 pub friendly_fire: Option<String>,
14 pub home_station_id: Option<i32>,
15 pub member_count: i32,
16 pub name: String,
17 pub palette: Option<CorporationPalette>,
18 pub shares: Option<u64>,
19 pub state: Option<String>,
21 pub tax_rates: Option<CorporationTaxRates>,
22 pub ticker: Option<String>,
23 #[serde(rename = "type")]
25 pub corporation_type: Option<String>,
26 pub url: Option<String>,
27 pub war_eligible: Option<bool>,
28}
29
30#[derive(Debug, Deserialize, Serialize, Clone)]
32pub struct CorporationTaxRates {
33 pub isk: Option<f64>,
35 pub loyalty_point: Option<f64>,
37}
38
39#[derive(Debug, Deserialize, Serialize, Clone)]
41pub struct CorporationPalette {
42 pub main_color: Option<String>,
44 pub secondary_color: Option<String>,
46 pub tertiary_color: Option<String>,
48}
49
50#[derive(Debug, Deserialize)]
51#[allow(missing_docs)]
52pub struct CorporationHistoryItem {
53 pub alliance_id: Option<i32>,
54 pub is_deleted: Option<bool>,
55 pub record_id: i32,
56 pub start_date: String,
57}
58
59pub struct CorporationGroup<'a> {
61 pub(crate) esi: &'a Esi,
62}
63
64impl CorporationGroup<'_> {
65 api_get!(
66 get_public_info,
68 "GetCorporationsCorporationId",
69 RequestType::Public,
70 CorporationPublicInfo,
71 (corporation_id: i32) => "{corporation_id}"
72 );
73
74 api_get!(
75 get_history,
77 "GetCorporationsCorporationIdAlliancehistory",
78 RequestType::Public,
79 Vec<CorporationHistoryItem>,
80 (corporation_id: i32) => "{corporation_id}"
81 );
82
83 api_get!(
84 get_members,
88 "GetCorporationsCorporationIdMembers",
89 RequestType::Authenticated,
90 Vec<u64>,
91 (corporation_id: i32) => "{corporation_id}"
92 );
93
94 api_get!(
95 get_npc_corps,
97 "GetCorporationsNpccorps",
98 RequestType::Public,
99 Vec<u64>,
100 );
101
102 }