Skip to content

Commit 9ba8dc8

Browse files
committed
Update structs for returned data
1 parent b639847 commit 9ba8dc8

11 files changed

+82
-65
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rfesi"
3-
version = "0.16.1"
3+
version = "0.17.0"
44
authors = ["Celeo <[email protected]>"]
55
edition = "2021"
66
description = "Rust API for EVE Online's ESI"

src/groups/alliance.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ pub struct AllianceInfo {
1111
pub creator_corporation_id: u64,
1212
pub creator_id: u64,
1313
pub date_founded: String,
14-
pub executor_corporation_id: u64,
14+
pub executor_corporation_id: Option<u32>,
15+
pub faction_id: Option<u32>,
1516
pub name: String,
1617
pub ticker: String,
1718
}
1819

1920
#[derive(Debug, Deserialize)]
2021
#[allow(missing_docs)]
2122
pub struct AllianceIcons {
22-
pub px128x128: String,
23-
pub px64x64: String,
23+
pub px128x128: Option<String>,
24+
pub px64x64: Option<String>,
2425
}
2526

2627
impl<'a> AllianceGroup<'a> {
@@ -29,7 +30,7 @@ impl<'a> AllianceGroup<'a> {
2930
list_ids,
3031
"get_alliances",
3132
RequestType::Public,
32-
Vec<u64>,
33+
Vec<u32>,
3334
);
3435

3536
api_get!(
@@ -46,7 +47,7 @@ impl<'a> AllianceGroup<'a> {
4647
get_alliance_corporations,
4748
"get_alliances_alliance_id_corporations",
4849
RequestType::Public,
49-
Vec<u64>,
50+
Vec<u32>,
5051
(alliance_id: u64) => "{alliance_id}"
5152
);
5253

src/groups/assets.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub struct AssetsGroup<'a> {
88
#[derive(Debug, Deserialize)]
99
#[allow(missing_docs)]
1010
pub struct Asset {
11+
pub is_blueprint_copy: Option<bool>,
1112
pub is_singleton: bool,
1213
pub item_id: u64,
1314
pub location_flag: String,
@@ -69,15 +70,14 @@ impl<'a> AssetsGroup<'a> {
6970
item_ids: &[u64],
7071
);
7172

72-
// NOTE: assuming return type; don't have the permissions to check
7373
api_get!(
7474
/// Get a corporation's assets.
7575
///
7676
/// Requires the auth'd character to be a director/+ in the corp.
7777
get_corporation_assets,
7878
"get_corporations_corporation_id_assets",
7979
RequestType::Authenticated,
80-
Vec<u64>,
80+
Vec<Asset>,
8181
(corporation_id: u64) => "{corporation_id}"
8282
);
8383

src/groups/character.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -8,40 +8,43 @@ pub struct CharacterGroup<'a> {
88
#[derive(Debug, Deserialize)]
99
#[allow(missing_docs)]
1010
pub struct CharacterPublicInfo {
11-
pub alliance_id: u64,
11+
pub alliance_id: Option<u64>,
1212
pub birthday: String,
1313
pub bloodline_id: u64,
1414
pub corporation_id: u64,
15-
pub description: String,
15+
pub description: Option<String>,
1616
pub gender: String,
1717
pub name: String,
1818
pub race_id: u16,
19-
pub security_status: f64,
19+
pub security_status: Option<f64>,
20+
pub title: Option<String>,
2021
}
2122

2223
#[derive(Debug, Deserialize)]
2324
#[allow(missing_docs)]
2425
pub struct CharacterCorporationHistoryItem {
2526
pub corporation_id: u64,
27+
pub is_deleted: Option<bool>,
2628
pub record_id: u64,
2729
pub start_date: String,
2830
}
2931

3032
#[derive(Debug, Deserialize)]
3133
#[allow(missing_docs)]
3234
pub struct CharacterPortraitInfo {
33-
pub px128x128: String,
34-
pub px256x256: String,
35-
pub px512x512: String,
36-
pub px64x64: String,
35+
pub px128x128: Option<String>,
36+
pub px256x256: Option<String>,
37+
pub px512x512: Option<String>,
38+
pub px64x64: Option<String>,
3739
}
3840

3941
#[derive(Debug, Deserialize)]
4042
#[allow(missing_docs)]
4143
pub struct CharacterAffiliation {
42-
pub alliance_id: u64,
43-
pub character: u64,
44-
pub corporation: u64,
44+
pub alliance_id: Option<u64>,
45+
pub character_id: u64,
46+
pub corporation_id: u64,
47+
pub faction_id: Option<u64>,
4548
}
4649

4750
impl<'a> CharacterGroup<'a> {

src/groups/clones.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ pub struct ClonesGroup<'a> {
88
#[derive(Debug, Deserialize)]
99
#[allow(missing_docs)]
1010
pub struct CloneHome {
11-
pub location_id: u64,
12-
pub location_type: String,
11+
pub location_id: Option<u64>,
12+
pub location_type: Option<String>,
1313
}
1414

1515
#[derive(Debug, Deserialize)]
1616
#[allow(missing_docs)]
1717
pub struct JumpClone {
18-
pub implants: Vec<u64>,
19-
pub jump_clone_id: u64,
18+
pub implants: Vec<u32>,
19+
pub jump_clone_id: u32,
2020
pub location_id: u64,
2121
pub location_type: String,
2222
pub name: Option<String>,
@@ -25,7 +25,7 @@ pub struct JumpClone {
2525
#[derive(Debug, Deserialize)]
2626
#[allow(missing_docs)]
2727
pub struct Clones {
28-
pub home_location: CloneHome,
28+
pub home_location: Option<CloneHome>,
2929
pub jump_clones: Vec<JumpClone>,
3030
pub last_clone_jump_date: String,
3131
}
@@ -45,7 +45,7 @@ impl<'a> ClonesGroup<'a> {
4545
get_clone_implants,
4646
"get_characters_character_id_implants",
4747
RequestType::Authenticated,
48-
Vec<u64>,
48+
Vec<u32>,
4949
(character_id: u64) => "{character_id}"
5050
);
5151
}

src/groups/corporation.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,24 @@ pub struct CorporationPublicInfo {
66
pub alliance_id: Option<u64>,
77
pub ceo_id: u64,
88
pub creator_id: u64,
9-
pub date_founded: String,
10-
pub description: String,
11-
pub home_station_id: u64,
9+
pub date_founded: Option<String>,
10+
pub description: Option<String>,
11+
pub faction_id: Option<u64>,
12+
pub home_station_id: Option<u64>,
1213
pub member_count: u64,
1314
pub name: String,
14-
pub shares: u64,
15+
pub shares: Option<u64>,
1516
pub tax_rate: f32,
16-
pub ticket: String,
17-
pub url: String,
18-
pub war_eligible: bool,
17+
pub ticker: Option<String>,
18+
pub url: Option<String>,
19+
pub war_eligible: Option<bool>,
1920
}
2021

2122
#[derive(Debug, Deserialize)]
2223
#[allow(missing_docs)]
2324
pub struct CorporationHistoryItem {
24-
pub alliance_id: u64,
25+
pub alliance_id: Option<u64>,
26+
pub is_deleted: Option<bool>,
2527
pub record_id: u64,
2628
pub start_date: String,
2729
}

src/groups/faction_warfare.rs

+15-15
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ pub struct FactionWarfareGroup<'a> {
88
#[derive(Debug, Deserialize)]
99
#[allow(missing_docs)]
1010
pub struct FactionLeaderboardItem {
11-
pub amount: u64,
12-
pub faction_id: u64,
11+
pub amount: Option<u64>,
12+
pub faction_id: Option<u64>,
1313
}
1414

1515
#[derive(Debug, Deserialize)]
@@ -74,37 +74,37 @@ pub struct FWCorporationLeaderboards {
7474
#[derive(Debug, Deserialize)]
7575
#[allow(missing_docs)]
7676
pub struct FWStatsItemRange {
77-
pub total: u64,
78-
pub last_week: u64,
79-
pub yesterday: u64,
77+
pub total: u32,
78+
pub last_week: u32,
79+
pub yesterday: u32,
8080
}
8181

8282
#[derive(Debug, Deserialize)]
8383
#[allow(missing_docs)]
8484
pub struct FWStatsItem {
85-
pub faction_id: u64,
85+
pub faction_id: u32,
8686
pub kills: FWStatsItemRange,
87-
pub pilots: u64,
88-
pub systems_controlled: u64,
87+
pub pilots: u32,
88+
pub systems_controlled: u32,
8989
pub victory_points: FWStatsItemRange,
9090
}
9191

9292
#[derive(Debug, Deserialize)]
9393
#[allow(missing_docs)]
9494
pub struct FWSystem {
9595
pub contested: String,
96-
pub occupier_faction_id: u64,
97-
pub owner_faction_id: u64,
98-
pub solar_system_id: u64,
99-
pub victory_points: u64,
100-
pub victory_points_threshold: u64,
96+
pub occupier_faction_id: u8,
97+
pub owner_faction_id: u32,
98+
pub solar_system_id: u32,
99+
pub victory_points: u32,
100+
pub victory_points_threshold: u32,
101101
}
102102

103103
#[derive(Debug, Deserialize)]
104104
#[allow(missing_docs)]
105105
pub struct FWWar {
106-
pub faction_id: u64,
107-
pub against_id: u64,
106+
pub faction_id: u32,
107+
pub against_id: u32,
108108
}
109109

110110
impl<'a> FactionWarfareGroup<'a> {

src/groups/incursions.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ pub struct Incursion {
1111
pub constellation_id: u64,
1212
pub faction_id: u64,
1313
pub has_boss: bool,
14-
pub infested_solar_systems: Vec<u64>,
14+
pub infested_solar_systems: Vec<u32>,
1515
pub influence: f64,
16-
pub staging_solar_system_id: i64,
16+
pub staging_solar_system_id: u64,
1717
pub state: String,
1818
#[serde(rename = "type")]
1919
pub incursion_type: String,

src/groups/killmails.rs

+22-12
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,45 @@ pub struct KillmailsGroup<'a> {
55
pub(crate) esi: &'a Esi,
66
}
77

8+
#[derive(Debug, Deserialize)]
9+
#[allow(missing_docs)]
10+
pub struct RecentKillMail {
11+
pub killmail_hash: String,
12+
pub killmail_id: i32,
13+
}
14+
815
#[derive(Debug, Deserialize)]
916
#[allow(missing_docs)]
1017
pub struct KillmailAttacker {
11-
pub alliance_id: u64,
12-
pub character_id: u64,
13-
pub corporation_id: u64,
18+
pub alliance_id: Option<u64>,
19+
pub character_id: Option<u64>,
20+
pub corporation_id: Option<u64>,
1421
pub damage_done: u64,
1522
pub final_blow: bool,
1623
pub security_status: f64,
17-
pub ship_type_id: u64,
18-
pub weapon_type_id: u64,
24+
pub ship_type_id: Option<u64>,
25+
pub weapon_type_id: Option<u64>,
1926
}
2027

2128
#[derive(Debug, Deserialize)]
2229
#[allow(missing_docs)]
2330
pub struct KillmailItem {
2431
pub flag: u64,
2532
pub item_type_id: u64,
26-
pub quantity_dropped: u64,
27-
pub singleton: u8,
33+
pub quantity_destroyed: Option<u64>,
34+
pub quantity_dropped: Option<u64>,
35+
pub singleton: u32,
2836
}
2937

3038
#[derive(Debug, Deserialize)]
3139
#[allow(missing_docs)]
3240
pub struct KillmailVictim {
33-
pub character_id: u64,
34-
pub corporation_id: u64,
41+
pub alliance_id: Option<u32>,
42+
pub character_id: Option<u64>,
43+
pub corporation_id: Option<u64>,
3544
pub damage_taken: u64,
36-
pub faction_id: u64,
37-
pub items: Vec<KillmailItem>,
45+
pub faction_id: Option<u64>,
46+
pub items: Option<Vec<KillmailItem>>,
3847
}
3948

4049
#[derive(Debug, Deserialize)]
@@ -43,6 +52,7 @@ pub struct Killmail {
4352
pub killmail_id: u64,
4453
pub killmail_type: String,
4554
pub solar_system_id: u64,
55+
pub moon_id: Option<i32>,
4656
pub attackers: Vec<KillmailAttacker>,
4757
pub victim: KillmailVictim,
4858
}
@@ -54,7 +64,7 @@ impl<'a> KillmailsGroup<'a> {
5464
get_character_recent,
5565
"get_characters_character_id_killmails_recent",
5666
RequestType::Authenticated,
57-
Vec<serde_json::Value>,
67+
Vec<RecentKillMail>,
5868
(character_id: u64) => "{character_id}"
5969
);
6070

src/groups/location.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@ pub struct LocationGroup<'a> {
1010
pub struct LocationInfo {
1111
pub solar_system_id: u64,
1212
pub station_id: Option<u64>,
13+
pub structure_id: Option<u64>,
1314
}
1415

1516
#[derive(Debug, Deserialize)]
1617
#[allow(missing_docs)]
1718
pub struct OnlineStatus {
18-
pub last_login: String,
19-
pub last_logout: String,
20-
pub logins: u64,
19+
pub last_login: Option<String>,
20+
pub last_logout: Option<String>,
21+
pub logins: Option<u64>,
2122
pub online: bool,
2223
}
2324

src/groups/universe.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ pub struct SystemPlanet {
4747
pub struct System {
4848
constellation_id: i32,
4949
name: String,
50-
planets: Vec<SystemPlanet>,
50+
planets: Option<Vec<SystemPlanet>>,
5151
position: Position,
5252
security_class: Option<String>,
5353
security_status: f64,

0 commit comments

Comments
 (0)