cobble_core/minecraft/models/
version_summary.rs1use crate::minecraft::models::{VersionData, VersionType};
2use serde::{Deserialize, Serialize};
3use time::OffsetDateTime;
4
5#[derive(Clone, Debug, Deserialize, Serialize)]
7pub struct VersionSummary {
8 pub id: String,
11 #[serde(rename = "type")]
14 pub _type: VersionType,
15 pub url: String,
17 #[serde(with = "time::serde::rfc3339")]
19 pub time: OffsetDateTime,
20 #[serde(alias = "releaseTime", with = "time::serde::rfc3339")]
22 pub release_time: OffsetDateTime,
23}
24
25impl VersionSummary {
26 pub async fn fetch_data(&self) -> reqwest::Result<VersionData> {
28 reqwest::get(&self.url)
29 .await?
30 .error_for_status()?
31 .json()
32 .await
33 }
34}