summaryrefslogtreecommitdiffstats
path: root/src/version/manifest.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/version/manifest.rs')
-rw-r--r--src/version/manifest.rs78
1 files changed, 14 insertions, 64 deletions
diff --git a/src/version/manifest.rs b/src/version/manifest.rs
index a44e435..1fa8041 100644
--- a/src/version/manifest.rs
+++ b/src/version/manifest.rs
@@ -3,20 +3,10 @@ use core::fmt;
use chrono::{DateTime, Utc};
use serde::{de::Visitor, Deserialize};
-#[derive(Deserialize)]
+#[derive(Deserialize, Debug)]
pub struct LatestVersions {
- release: String,
- snapshot: String
-}
-
-impl LatestVersions {
- pub fn get_release(&self) -> &String {
- &self.release
- }
-
- pub fn get_snapshot(&self) -> &String {
- &self.snapshot
- }
+ pub release: String,
+ pub snapshot: String
}
#[derive(Debug)]
@@ -59,61 +49,21 @@ impl<'de> Deserialize<'de> for VersionType {
}
// https://piston-meta.mojang.com/mc/game/version_manifest_v2.json
-#[derive(Deserialize)]
+#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct VersionManifestVersion {
- id: String,
+ pub id: String,
#[serde(rename = "type")]
- version_type: VersionType,
- url: String,
- time: DateTime<Utc>,
- release_time: DateTime<Utc>,
- sha1: String,
- compliance_level: u32
+ pub version_type: VersionType,
+ pub url: String,
+ pub time: DateTime<Utc>,
+ pub release_time: DateTime<Utc>,
+ pub sha1: String,
+ pub compliance_level: u32
}
-impl VersionManifestVersion {
- pub fn get_id(&self) -> &String {
- &self.id
- }
-
- pub fn get_version_type(&self) -> &VersionType {
- &self.version_type
- }
-
- pub fn get_url(&self) -> &String {
- &self.url
- }
-
- pub fn get_time(&self) -> &DateTime<Utc> {
- &self.time
- }
-
- pub fn get_release_time(&self) -> &DateTime<Utc> {
- &self.release_time
- }
-
- pub fn get_sha1(&self) -> &String {
- &self.sha1
- }
-
- pub fn get_compliance_level(&self) -> u32 {
- self.compliance_level
- }
-}
-
-#[derive(Deserialize)]
+#[derive(Deserialize, Debug)]
pub struct VersionManifest {
- latest: LatestVersions,
- versions: Vec<VersionManifestVersion>
-}
-
-impl VersionManifest {
- pub fn get_latest(&self) -> &LatestVersions {
- &self.latest
- }
-
- pub fn get_versions(&self) -> &Vec<VersionManifestVersion> {
- &self.versions
- }
+ pub latest: LatestVersions,
+ pub versions: Vec<VersionManifestVersion>
}