Skip to main content

ddapi_rs/scheme/ddnet/
skins.rs

1use crate::scheme::DDNET_BASE_URL;
2use chrono::NaiveDate;
3use serde::{Deserialize, Serialize};
4
5#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
6pub struct DDSkinHD {
7    pub uhd: bool,
8}
9
10#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
11pub struct DDSkin {
12    pub name: String,
13    pub r#type: String,
14    pub hd: DDSkinHD,
15    pub creator: String,
16    pub license: String,
17    pub bodypart: String,
18    pub gameversion: String,
19    pub date: NaiveDate,
20    pub skinpack: String,
21    pub imgtype: String,
22}
23
24#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
25pub struct DDSkins {
26    pub skins: Vec<DDSkin>,
27    pub version: String,
28}
29
30impl DDSkins {
31    #[must_use]
32    pub fn api() -> String {
33        format!("https://skins.{DDNET_BASE_URL}/skin/skins.json")
34    }
35}