From 7bb3ba48f078ce7d93d45a84264d9af06c4ebef9 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 29 Jul 2026 19:42:05 +0000 Subject: [PATCH] Fix Rust derive attribute ordering: move #[serde] after #[derive] The legacy_derive_helpers lint requires derive helper attributes (like #[serde(...)]) to appear AFTER the #[derive(...)] that introduces them, not before. Swapped ordering on all 27 structs in proxmox.rs and lib.rs. --- src-tauri/src/lib.rs | 14 +++++++------- src-tauri/src/proxmox.rs | 40 ++++++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 3e10c2f..fa998b9 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -16,8 +16,8 @@ use websocket::WebSocketManager; pub type Result = std::result::Result; -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct ConnectionConfig { pub id: String, pub name: String, @@ -32,24 +32,24 @@ pub struct ConnectionConfig { pub username: Option, } -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct EndpointConfig { pub url: String, pub node: Option, pub token: Option, } -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct LoginResult { pub connection_id: String, pub ticket: String, pub csrf_token: String, } -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct CertificateInfo { pub fingerprint: String, pub issuer: String, @@ -461,16 +461,16 @@ async fn get_stored_credentials( } // Console proxy types -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct VNCProxyResponse { pub ticket: String, pub port: u32, pub cert: String, } -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct TermProxyResponse { pub ticket: String, pub port: u32, @@ -619,8 +619,8 @@ async fn delete_backup( manager.delete_backup(&connection_id, &volid).await } -#[serde(rename_all = "camelCase")] #[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct TrayConnectionInfo { pub id: String, pub name: String, diff --git a/src-tauri/src/proxmox.rs b/src-tauri/src/proxmox.rs index 883da8b..d8b379c 100644 --- a/src-tauri/src/proxmox.rs +++ b/src-tauri/src/proxmox.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Disk { pub device: String, pub size: u64, @@ -10,16 +10,16 @@ pub struct Disk { pub usage: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct AddDiskConfig { pub storage: String, pub size: u64, pub bus_type: String, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Node { pub node: String, pub status: String, @@ -35,8 +35,8 @@ pub struct Node { pub r#type: String, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct VM { pub vmid: u32, pub name: Option, @@ -60,8 +60,8 @@ pub struct VM { pub tags: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Storage { pub storage: String, pub r#type: String, @@ -75,8 +75,8 @@ pub struct Storage { pub node: String, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Task { pub upid: String, pub node: String, @@ -91,8 +91,8 @@ pub struct Task { pub exitstatus: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct ClusterStatus { pub r#type: String, pub name: String, @@ -100,8 +100,8 @@ pub struct ClusterStatus { pub nodes: Option>, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct ClusterNode { pub name: String, pub nodeid: u32, @@ -110,8 +110,8 @@ pub struct ClusterNode { pub ip: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Snapshot { pub name: String, pub description: String, @@ -120,22 +120,22 @@ pub struct Snapshot { pub parent: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct CreateSnapshotConfig { pub name: String, pub description: Option, pub vmstate: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct ApiResponse { pub data: T, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct NetworkInterface { pub name: String, pub model: String, @@ -146,8 +146,8 @@ pub struct NetworkInterface { pub link_down: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct AddNICConfig { pub bridge: String, pub model: String, @@ -156,8 +156,8 @@ pub struct AddNICConfig { pub firewall: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct EditNICConfig { pub bridge: Option, pub model: Option, @@ -165,8 +165,8 @@ pub struct EditNICConfig { pub firewall: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct Backup { pub volid: String, pub backupid: String, @@ -181,8 +181,8 @@ pub struct Backup { pub ctime: u64, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct BackupJob { pub id: String, pub store: String, @@ -196,8 +196,8 @@ pub struct BackupJob { pub quiet: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct BackupJobConfig { pub id: Option, pub storage: String, @@ -210,8 +210,8 @@ pub struct BackupJobConfig { pub node: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct RestoreConfig { pub volid: String, pub node: String, @@ -219,8 +219,8 @@ pub struct RestoreConfig { pub vmid: Option, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct StorageContent { pub content: String, pub ctime: u64, @@ -230,8 +230,8 @@ pub struct StorageContent { pub volid: String, } -#[serde(rename_all = "camelCase")] #[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct StorageDetail { pub storage: String, pub r#type: String,