From 2abc5acd25756f3ef6a6ad34f8777ffe241e750d Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Tue, 27 Jan 2026 06:16:58 +0800 Subject: Reorganize command modules under a unified cmds directory --- src/cmds/out/status.rs | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/cmds/out/status.rs (limited to 'src/cmds/out/status.rs') diff --git a/src/cmds/out/status.rs b/src/cmds/out/status.rs new file mode 100644 index 0000000..2b8d9c6 --- /dev/null +++ b/src/cmds/out/status.rs @@ -0,0 +1,47 @@ +use std::{collections::HashMap, time::SystemTime}; + +use just_enough_vcs::vcs::data::{ + local::workspace_analyzer::{AnalyzeResultPure, ModifiedRelativePathBuf}, + member::MemberId, + sheet::SheetName, +}; +use serde::Serialize; + +#[derive(Serialize)] +pub struct JVStatusOutput { + pub current_account: MemberId, + pub current_sheet: SheetName, + pub is_host_mode: bool, + pub in_ref_sheet: bool, + pub analyzed_result: AnalyzeResultPure, + pub wrong_modified_items: HashMap, + pub update_time: SystemTime, + pub now_time: SystemTime, +} + +#[derive(Serialize)] +pub enum JVStatusWrongModifyReason { + BaseVersionMismatch { + base_version: String, + latest_version: String, + }, + ModifiedButNotHeld { + holder: String, + }, + NoHolder, +} + +impl Default for JVStatusOutput { + fn default() -> Self { + Self { + current_account: MemberId::default(), + current_sheet: SheetName::default(), + is_host_mode: false, + in_ref_sheet: false, + analyzed_result: AnalyzeResultPure::default(), + wrong_modified_items: HashMap::new(), + update_time: SystemTime::now(), + now_time: SystemTime::now(), + } + } +} -- cgit