eversal_esi/killmails/
model.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Serialize, Deserialize)]
5pub struct RecentKillmail {
6  pub killmail_hash: String,
7  pub killmail_id: i32,
8}
9
10#[derive(Debug, Serialize, Deserialize)]
11pub struct Killmail {
12  pub attackers: Vec<Attacker>,
13  pub killmail_id: i32,
14  pub killmail_time: DateTime<Utc>,
15  pub moon_id: Option<i32>,
16  pub solar_system_id: i32,
17  pub victim: Victim,
18  pub war_id: Option<i32>,
19}
20
21#[derive(Debug, Serialize, Deserialize)]
22pub struct Attacker {
23  pub alliance_id: Option<i32>,
24  pub character_id: Option<i32>,
25  pub corporation_id: Option<i32>,
26  pub damage_done: i32,
27  pub faction_id: Option<i32>,
28  pub final_blow: bool,
29  pub security_status: f32,
30  pub ship_type_id: Option<i32>,
31  pub weapon_type_id: Option<i32>,
32}
33
34#[derive(Debug, Serialize, Deserialize)]
35pub struct Victim {
36  pub alliance_id: Option<i32>,
37  pub character_id: Option<i32>,
38  pub corporation_id: Option<i32>,
39  pub damage_taken: i32,
40  pub faction_id: Option<i32>,
41  pub items: Option<Vec<VictimItem>>,
42  pub position: VictimPosition,
43  pub ship_type_id: i32,
44}
45
46#[derive(Debug, Serialize, Deserialize)]
47pub struct VictimItem {
48  pub flag: i32,
49  pub item_type_id: i32,
50  pub items: Option<Vec<VictimItem>>,
51  pub quantity_destroyed: Option<i64>,
52  pub quantity_dropped: Option<i64>,
53  pub singleton: i32,
54}
55
56#[derive(Debug, Serialize, Deserialize)]
57pub struct VictimPosition {
58  pub x: f32,
59  pub y: f32,
60  pub z: f32,
61}