From ba11b73da83d5f6c66129b52cff7a45d8994a6a0 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 2 Jan 2026 23:00:39 +0800 Subject: Rename vault admin to host and add serde renames - Rename `vault_admin_list` to `vault_host_list` in config and actions - Add `#[serde(rename)]` attributes to all data structures for shorter JSON keys - Update field renames in LocalConfig, LatestFileData, LatestInfo, LocalSheetData, Member, SheetData, Share, and VirtualFileMeta --- crates/vcs_data/src/data/local/config.rs | 5 +++++ crates/vcs_data/src/data/local/latest_file_data.rs | 8 +++++++- crates/vcs_data/src/data/local/latest_info.rs | 11 +++++++++++ crates/vcs_data/src/data/local/local_sheet.rs | 7 ++++--- 4 files changed, 27 insertions(+), 4 deletions(-) (limited to 'crates/vcs_data/src/data/local') diff --git a/crates/vcs_data/src/data/local/config.rs b/crates/vcs_data/src/data/local/config.rs index cfbc0d4..8a89c20 100644 --- a/crates/vcs_data/src/data/local/config.rs +++ b/crates/vcs_data/src/data/local/config.rs @@ -26,14 +26,17 @@ const SHEET_NAME: &str = "{sheet_name}"; pub struct LocalConfig { /// The upstream address, representing the upstream address of the local workspace, /// to facilitate timely retrieval of new updates from the upstream source. + #[serde(rename = "addr")] upstream_addr: SocketAddr, /// The member ID used by the current local workspace. /// This ID will be used to verify access permissions when connecting to the upstream server. + #[serde(rename = "as")] using_account: MemberId, /// Whether the current member is interacting as a host. /// In host mode, full Vault operation permissions are available except for adding new content. + #[serde(rename = "host")] using_host_mode: bool, /// Whether the local workspace is stained. @@ -42,9 +45,11 @@ pub struct LocalConfig { /// /// If the value is None, it means not stained; /// otherwise, it contains the stain identifier (i.e., the upstream vault's unique ID) + #[serde(rename = "up_uid")] stained_uuid: Option, /// The name of the sheet currently in use. + #[serde(rename = "use")] sheet_in_use: Option, } diff --git a/crates/vcs_data/src/data/local/latest_file_data.rs b/crates/vcs_data/src/data/local/latest_file_data.rs index 8a6a3cb..5248cfb 100644 --- a/crates/vcs_data/src/data/local/latest_file_data.rs +++ b/crates/vcs_data/src/data/local/latest_file_data.rs @@ -20,18 +20,24 @@ const ACCOUNT: &str = "{account}"; #[cfg_file(path = CLIENT_FILE_MEMBER_HELD_NOSET)] pub struct LatestFileData { /// File holding status + #[serde(rename = "held")] held_status: HashMap, /// File version + #[serde(rename = "ver")] versions: HashMap, } #[derive(Debug, Default, Clone, Serialize, Deserialize)] pub enum HeldStatus { + #[serde(rename = "Hold")] HeldWith(MemberId), // Held, status changes are sync to the client - NotHeld, // Not held, status changes are sync to the client + + #[serde(rename = "None")] + NotHeld, // Not held, status changes are sync to the client #[default] + #[serde(rename = "Unknown")] WantedToKnow, // Holding status is unknown, notify server must inform client } diff --git a/crates/vcs_data/src/data/local/latest_info.rs b/crates/vcs_data/src/data/local/latest_info.rs index a2456fc..e11836b 100644 --- a/crates/vcs_data/src/data/local/latest_info.rs +++ b/crates/vcs_data/src/data/local/latest_info.rs @@ -30,31 +30,39 @@ pub struct LatestInfo { // Sheets /// Visible sheets, /// indicating which sheets I can edit + #[serde(rename = "my")] pub visible_sheets: Vec, /// Invisible sheets, /// indicating which sheets I can export files to (these sheets are not readable to me) + #[serde(rename = "others")] pub invisible_sheets: Vec, /// Reference sheets, /// indicating sheets owned by the host, visible to everyone, /// but only the host can modify or add mappings within them + #[serde(rename = "refsheets")] pub reference_sheets: HashSet, /// Reference sheet data, indicating what files I can get from the reference sheet + #[serde(rename = "ref")] pub ref_sheet_content: SheetData, /// Reverse mapping from virtual file IDs to actual paths in reference sheets + #[serde(rename = "ref_vfs")] pub ref_sheet_vfs_mapping: HashMap, /// Shares in my sheets, indicating which external merge requests have entries that I can view + #[serde(rename = "shares")] pub shares_in_my_sheets: HashMap>, /// Update instant + #[serde(rename = "update")] pub update_instant: Option, // Members /// All member information of the vault, allowing me to contact them more conveniently + #[serde(rename = "members")] pub vault_members: Vec, } @@ -67,6 +75,9 @@ impl LatestInfo { #[derive(Default, Serialize, Deserialize)] pub struct SheetInfo { + #[serde(rename = "name")] pub sheet_name: SheetName, + + #[serde(rename = "holder")] pub holder_name: Option, } diff --git a/crates/vcs_data/src/data/local/local_sheet.rs b/crates/vcs_data/src/data/local/local_sheet.rs index 4ebdaac..8ad059f 100644 --- a/crates/vcs_data/src/data/local/local_sheet.rs +++ b/crates/vcs_data/src/data/local/local_sheet.rs @@ -32,16 +32,17 @@ pub struct LocalSheet<'a> { #[cfg_file(path = CLIENT_FILE_LOCAL_SHEET_NOSET)] // Do not use LocalSheet::write or LocalSheet::read pub struct LocalSheetData { /// Local file path to metadata mapping. - #[serde(rename = "mapping")] + #[serde(rename = "map")] pub(crate) mapping: HashMap, + #[serde(rename = "vfs")] pub(crate) vfs: HashMap, } #[derive(Debug, Serialize, Deserialize, Clone)] pub struct LocalMappingMetadata { /// Hash value generated immediately after the file is downloaded to the local workspace - #[serde(rename = "hash")] + #[serde(rename = "base_hash")] pub(crate) hash_when_updated: String, /// Time when the file was downloaded to the local workspace @@ -57,7 +58,7 @@ pub struct LocalMappingMetadata { pub(crate) version_desc_when_updated: VirtualFileVersionDescription, /// Version when the file was downloaded to the local workspace - #[serde(rename = "version")] + #[serde(rename = "ver")] pub(crate) version_when_updated: VirtualFileVersion, /// Virtual file ID corresponding to the local path -- cgit