thunderstore_api/models/v1/
package.rs1#[derive(Clone, Debug, PartialEq, Eq, Default, Serialize, Deserialize)]
8pub struct Listing {
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub name: Option<String>,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub full_name: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub owner: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub package_url: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub donation_link: Option<String>,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub date_created: Option<String>,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub date_updated: Option<String>,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub uuid4: Option<String>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub rating_score: Option<String>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub is_pinned: Option<String>,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub is_deprecated: Option<String>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub has_nsfw_content: Option<bool>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub categories: Option<String>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub versions: Option<String>,
37}
38
39impl Listing {
40 #[must_use]
41 pub fn new() -> Listing {
42 Listing {
43 name: None,
44 full_name: None,
45 owner: None,
46 package_url: None,
47 donation_link: None,
48 date_created: None,
49 date_updated: None,
50 uuid4: None,
51 rating_score: None,
52 is_pinned: None,
53 is_deprecated: None,
54 has_nsfw_content: None,
55 categories: None,
56 versions: None,
57 }
58 }
59}
60
61#[derive(Clone, Debug, PartialEq, Eq, Default, Serialize, Deserialize)]
62pub struct PackageVersion {
63 pub date_created: String,
64 pub download_count: u32,
65 pub download_url: String,
66 pub install_url: String,
67 pub version_number: String,
68}
69
70impl PackageVersion {
71 #[must_use]
72 pub fn new(
73 date_created: String,
74 download_count: u32,
75 download_url: String,
76 install_url: String,
77 version_number: String,
78 ) -> PackageVersion {
79 PackageVersion {
80 date_created,
81 download_count,
82 download_url,
83 install_url,
84 version_number,
85 }
86 }
87}