diff options
Diffstat (limited to 'src/output')
| -rw-r--r-- | src/output/accounts.rs | 15 | ||||
| -rw-r--r-- | src/output/align.rs | 17 | ||||
| -rw-r--r-- | src/output/analyzer_result.rs | 21 | ||||
| -rw-r--r-- | src/output/here.rs | 21 | ||||
| -rw-r--r-- | src/output/info.rs | 24 | ||||
| -rw-r--r-- | src/output/sheets.rs | 16 |
6 files changed, 114 insertions, 0 deletions
diff --git a/src/output/accounts.rs b/src/output/accounts.rs new file mode 100644 index 0000000..d29539a --- /dev/null +++ b/src/output/accounts.rs @@ -0,0 +1,15 @@ +use just_enough_vcs::vcs::data::member::MemberId; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AccountListJsonResult { + pub result: HashMap<MemberId, AccountItem>, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AccountItem { + pub has_private_key: bool, +} diff --git a/src/output/align.rs b/src/output/align.rs new file mode 100644 index 0000000..eae1fa7 --- /dev/null +++ b/src/output/align.rs @@ -0,0 +1,17 @@ +use std::{collections::HashMap, path::PathBuf}; + +use just_enough_vcs::vcs::data::local::align::AlignTaskName; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AlignJsonResult { + pub align_tasks: HashMap<AlignTaskName, AlignTaskMapping>, +} + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AlignTaskMapping { + pub local_mapping: PathBuf, + pub remote_mapping: PathBuf, +} diff --git a/src/output/analyzer_result.rs b/src/output/analyzer_result.rs new file mode 100644 index 0000000..a4df762 --- /dev/null +++ b/src/output/analyzer_result.rs @@ -0,0 +1,21 @@ +use std::path::PathBuf; + +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AnalyzerJsonResult { + pub created: Vec<PathBuf>, + pub lost: Vec<PathBuf>, + pub erased: Vec<PathBuf>, + pub moved: Vec<(PathBuf, PathBuf)>, + pub modified: Vec<(PathBuf, ModifiedType)>, +} + +#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[serde(rename_all = "PascalCase")] +pub enum ModifiedType { + Modified, + ModifiedButBaseVersionMismatch, + ModifiedButNotHeld, +} diff --git a/src/output/here.rs b/src/output/here.rs new file mode 100644 index 0000000..178a467 --- /dev/null +++ b/src/output/here.rs @@ -0,0 +1,21 @@ +use just_enough_vcs::vcs::data::{member::MemberId, vault::virtual_file::VirtualFileVersion}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct HereJsonResult { + pub items: Vec<HereJsonResultItem>, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct HereJsonResultItem { + pub mapping: String, + pub name: String, + pub current_version: VirtualFileVersion, + pub size: usize, + pub is_dir: bool, + pub exist: bool, + pub modified: bool, + pub holder: MemberId, +} diff --git a/src/output/info.rs b/src/output/info.rs new file mode 100644 index 0000000..8948980 --- /dev/null +++ b/src/output/info.rs @@ -0,0 +1,24 @@ +use just_enough_vcs::vcs::data::{ + member::MemberId, + vault::virtual_file::{VirtualFileId, VirtualFileVersion}, +}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct InfoJsonResult { + pub mapping: String, + pub in_ref: String, + pub vfid: VirtualFileId, + pub histories: Vec<InfoHistory>, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct InfoHistory { + pub version: VirtualFileVersion, + pub version_creator: MemberId, + pub version_description: String, + pub is_current_version: bool, + pub is_ref_version: bool, +} diff --git a/src/output/sheets.rs b/src/output/sheets.rs new file mode 100644 index 0000000..2dc0c81 --- /dev/null +++ b/src/output/sheets.rs @@ -0,0 +1,16 @@ +use just_enough_vcs::vcs::data::member::MemberId; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct SheetListJsonResult { + pub my_sheets: Vec<SheetItem>, + pub reference_sheets: Vec<SheetItem>, + pub other_sheets: Vec<SheetItem>, +} +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct SheetItem { + pub name: String, + pub holder: MemberId, +} |
