diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-27 06:16:58 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-27 06:16:58 +0800 |
| commit | 2abc5acd25756f3ef6a6ad34f8777ffe241e750d (patch) | |
| tree | b312764324b4da037d5b3c46957a77dcd19502f3 /src/cmds/out/status.rs | |
| parent | 4eef9ce364bb660421a96052a3fb126a33b22c63 (diff) | |
Reorganize command modules under a unified cmds directory
Diffstat (limited to 'src/cmds/out/status.rs')
| -rw-r--r-- | src/cmds/out/status.rs | 47 |
1 files changed, 47 insertions, 0 deletions
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<ModifiedRelativePathBuf, JVStatusWrongModifyReason>, + 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(), + } + } +} |
