lyceris/json/version/
manifest.rs1use serde::{Serialize, Deserialize};
2
3#[derive(Serialize, Deserialize)]
4pub struct VersionManifest {
5 #[serde(rename = "latest")]
6 pub latest: Latest,
7
8 #[serde(rename = "versions")]
9 pub versions: Vec<Version>,
10}
11
12#[derive(Serialize, Deserialize)]
13pub struct Latest {
14 #[serde(rename = "release")]
15 pub release: String,
16
17 #[serde(rename = "snapshot")]
18 pub snapshot: String,
19}
20
21#[derive(Serialize, Deserialize)]
22#[serde(rename_all = "camelCase")]
23pub struct Version {
24 pub id: String,
25 pub r#type: Type,
26 pub url: String,
27 pub time: String,
28 pub release_time: String,
29}
30
31#[derive(Serialize, Deserialize)]
32pub enum Type {
33 #[serde(rename = "old_alpha")]
34 OldAlpha,
35
36 #[serde(rename = "old_beta")]
37 OldBeta,
38
39 #[serde(rename = "release")]
40 Release,
41
42 #[serde(rename = "snapshot")]
43 Snapshot,
44}