From d879d8864864d51f48201ea3fcf43baad2f969f6 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Thu, 30 Oct 2025 09:23:59 +0800 Subject: Add LatestInfo struct for client data persistence --- crates/vcs_data/src/data/local/latest_info.rs | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 crates/vcs_data/src/data/local/latest_info.rs (limited to 'crates/vcs_data/src/data') diff --git a/crates/vcs_data/src/data/local/latest_info.rs b/crates/vcs_data/src/data/local/latest_info.rs new file mode 100644 index 0000000..5a76277 --- /dev/null +++ b/crates/vcs_data/src/data/local/latest_info.rs @@ -0,0 +1,28 @@ +use cfg_file::ConfigFile; +use serde::{Deserialize, Serialize}; + +use crate::{ + constants::CLIENT_FILE_LATEST_INFO, + data::{ + member::Member, + sheet::{SheetData, SheetName}, + }, +}; + +#[derive(Default, Serialize, Deserialize, ConfigFile)] +#[cfg_file(path = CLIENT_FILE_LATEST_INFO)] +pub struct LatestInfo { + // Sheets + /// My sheets, indicating which sheets I can edit + pub my_sheets: Vec, + /// Other sheets, indicating which sheets I can export files to (these sheets are not readable to me) + pub other_sheets: Vec, + /// Reference sheet data, indicating what files I can get from the reference sheet + pub ref_sheet_content: SheetData, + + // Members + /// All member information of the vault, allowing me to contact them more conveniently + pub vault_members: Vec, +} + +impl LatestInfo {} -- cgit