ddapi_rs/scheme/ddnet/
latest_finishes.rs1use 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}