lyceris/json/version/
manifest.rs

1use 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}