diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-09 23:19:55 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-09 23:19:55 +0800 |
| commit | 2f018e89c8584bc2bbca91054d0d5e96ed57e42d (patch) | |
| tree | 4cbacfab1a4d7a5db5ae1e87ef7719bc3f9e5737 /src/output | |
| parent | ab2c87b785036a872e17eac771c65a4af88790e5 (diff) | |
Add JSON output support for share list and see commands
Diffstat (limited to 'src/output')
| -rw-r--r-- | src/output/share.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/output/share.rs b/src/output/share.rs new file mode 100644 index 0000000..6fbfc3f --- /dev/null +++ b/src/output/share.rs @@ -0,0 +1,32 @@ +use std::collections::HashMap; + +use just_enough_vcs::vcs::data::{ + member::MemberId, + sheet::{SheetMappingMetadata, SheetPathBuf}, + vault::sheet_share::SheetShareId, +}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ShareListResult { + pub share_list: Vec<ShareItem>, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ShareItem { + pub share_id: SheetShareId, + pub sharer: MemberId, + pub description: String, + pub file_count: usize, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct SeeShareResult { + pub share_id: SheetShareId, + pub sharer: MemberId, + pub description: String, + pub mappings: HashMap<SheetPathBuf, SheetMappingMetadata>, +} |
