From 4f6a6d105129a21235c23c23c054eaa5ba53a9be Mon Sep 17 00:00:00 2001 From: Nathan McIntosh Date: Thu, 1 Aug 2024 12:45:42 -0400 Subject: [PATCH] used struct auto-generator to create struct copied the JSON at https://api.github.com/repos/duckdb/duckdb/releases/latest into a site that generates a rust struct for you --- src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index aaa819a..18474ec 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ use serde_derive::{Deserialize, Serialize}; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] -pub struct Release { +pub struct Root { pub url: String, #[serde(rename = "assets_url")] pub assets_url: String, @@ -94,7 +94,7 @@ pub struct Asset { #[serde(rename = "node_id")] pub node_id: String, pub name: String, - pub label: String, + pub label: Option, pub uploader: Uploader, #[serde(rename = "content_type")] pub content_type: String, @@ -177,7 +177,7 @@ fn get_latest_release_zip_urls() -> Result> { .header(USER_AGENT, "duckup") .send()? .text()?; - let release: Release = serde_json::from_str(&text).context("Failed to parse release JSON")?; + let release: Root = serde_json::from_str(&text).context("Failed to parse release JSON")?; // Extract the URL of the zip files from the release information Ok(release