space_traders/models/
cooldown.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
9pub struct Cooldown {
10 #[serde(rename = "shipSymbol")]
12 pub ship_symbol: String,
13 #[serde(rename = "totalSeconds")]
15 pub total_seconds: u32,
16 #[serde(rename = "remainingSeconds")]
18 pub remaining_seconds: u32,
19 #[serde(rename = "expiration", skip_serializing_if = "Option::is_none")]
21 pub expiration: Option<String>,
22}
23
24impl Cooldown {
25 #[allow(clippy::too_many_arguments)]
27 pub fn new(ship_symbol: String, total_seconds: u32, remaining_seconds: u32) -> Cooldown {
28 Cooldown {
29 ship_symbol,
30 total_seconds,
31 remaining_seconds,
32 expiration: None,
33 }
34 }
35}