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::{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 #[must_use]
21 pub fn url() -> String {
22 format!("https://{DDNET_BASE_URL}/ranks")
23 }
24
25 #[must_use]
26 pub fn api(latest: usize) -> String {
27 format!("https://{DDNET_BASE_URL}/maps/?latest={latest}")
28 }
29}