Skip to main content

ddapi_rs/scheme/ddnet/
latest_finishes.rs

1use crate::scheme::DDNET_BASE_URL;
2use crate::scheme::{deserialize_datetime_timestamp, serialize_datetime_timestamp};
3use chrono::NaiveDateTime;
4use serde_derive::{Deserialize, Serialize};
5
6#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
7pub struct LatestFinishes {
8    #[serde(
9        serialize_with = "serialize_datetime_timestamp",
10        deserialize_with = "deserialize_datetime_timestamp"
11    )]
12    pub timestamp: NaiveDateTime,
13    pub map: String,
14    pub name: String,
15    pub time: f64,
16    pub server: String,
17}
18
19impl LatestFinishes {
20    pub fn url() -> String {
21        format!("https://{}/ranks", DDNET_BASE_URL)
22    }
23
24    pub fn api(latest: usize) -> String {
25        format!("https://{}/maps/?latest={}", DDNET_BASE_URL, latest)
26    }
27}