eversal_esi/killmails/
model.rs1use 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}