diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-23 05:15:28 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-23 05:15:28 +0800 |
| commit | cffe4f130d7979df1ebbe84ec77f955b5430e8db (patch) | |
| tree | 79c5e23ea9555acad308fd677fe73b2e7f320063 /src/outputs | |
| parent | 0a150104ea4ff39986a65216386423603d5e3119 (diff) | |
Move status command types to separate modules
Diffstat (limited to 'src/outputs')
| -rw-r--r-- | src/outputs/status.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/outputs/status.rs b/src/outputs/status.rs new file mode 100644 index 0000000..f9ce875 --- /dev/null +++ b/src/outputs/status.rs @@ -0,0 +1,45 @@ +use std::{ + collections::{HashMap, HashSet}, + path::PathBuf, + time::SystemTime, +}; + +use just_enough_vcs::vcs::data::{ + local::workspace_analyzer::{ + CreatedRelativePathBuf, FromRelativePathBuf, LostRelativePathBuf, ModifiedRelativePathBuf, + ToRelativePathBuf, + }, + member::MemberId, + sheet::SheetName, + vault::virtual_file::VirtualFileId, +}; +use serde::Serialize; + +#[derive(Serialize)] +pub struct JVStatusResult { + pub current_account: MemberId, + pub current_sheet: SheetName, + pub moved: HashMap<VirtualFileId, (FromRelativePathBuf, ToRelativePathBuf)>, + pub created: HashSet<CreatedRelativePathBuf>, + pub lost: HashSet<LostRelativePathBuf>, + pub erased: HashSet<PathBuf>, + pub modified: HashSet<ModifiedRelativePathBuf>, + pub update_time: SystemTime, + pub now_time: SystemTime, +} + +impl Default for JVStatusResult { + fn default() -> Self { + Self { + current_account: MemberId::default(), + current_sheet: SheetName::default(), + moved: HashMap::default(), + created: HashSet::default(), + lost: HashSet::default(), + erased: HashSet::default(), + modified: HashSet::default(), + update_time: SystemTime::now(), + now_time: SystemTime::now(), + } + } +} |
