diff options
Diffstat (limited to 'src/leegacy_json_output')
| -rw-r--r-- | src/leegacy_json_output/accounts.rs | 15 | ||||
| -rw-r--r-- | src/leegacy_json_output/align.rs | 17 | ||||
| -rw-r--r-- | src/leegacy_json_output/analyzer_result.rs | 35 | ||||
| -rw-r--r-- | src/leegacy_json_output/here.rs | 21 | ||||
| -rw-r--r-- | src/leegacy_json_output/info.rs | 24 | ||||
| -rw-r--r-- | src/leegacy_json_output/share.rs | 32 | ||||
| -rw-r--r-- | src/leegacy_json_output/sheets.rs | 16 |
7 files changed, 160 insertions, 0 deletions
diff --git a/src/leegacy_json_output/accounts.rs b/src/leegacy_json_output/accounts.rs new file mode 100644 index 0000000..d29539a --- /dev/null +++ b/src/leegacy_json_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/leegacy_json_output/align.rs b/src/leegacy_json_output/align.rs new file mode 100644 index 0000000..2c6bfc4 --- /dev/null +++ b/src/leegacy_json_output/align.rs @@ -0,0 +1,17 @@ +use std::{collections::HashMap, path::PathBuf}; + +use just_enough_vcs::vcs::data::local::align_tasks::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/leegacy_json_output/analyzer_result.rs b/src/leegacy_json_output/analyzer_result.rs new file mode 100644 index 0000000..bb6af56 --- /dev/null +++ b/src/leegacy_json_output/analyzer_result.rs @@ -0,0 +1,35 @@ +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<MovedItem>, + pub modified: Vec<ModifiedItem>, +} + +#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[serde(rename_all = "PascalCase")] +pub enum ModifiedType { + Modified, + ModifiedButBaseVersionMismatch, + ModifiedButNotHeld, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct MovedItem { + pub from: PathBuf, + pub to: PathBuf, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ModifiedItem { + pub path: PathBuf, + pub modification_type: ModifiedType, +} diff --git a/src/leegacy_json_output/here.rs b/src/leegacy_json_output/here.rs new file mode 100644 index 0000000..178a467 --- /dev/null +++ b/src/leegacy_json_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/leegacy_json_output/info.rs b/src/leegacy_json_output/info.rs new file mode 100644 index 0000000..8948980 --- /dev/null +++ b/src/leegacy_json_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/leegacy_json_output/share.rs b/src/leegacy_json_output/share.rs new file mode 100644 index 0000000..53282ea --- /dev/null +++ b/src/leegacy_json_output/share.rs @@ -0,0 +1,32 @@ +use std::collections::HashMap; + +use just_enough_vcs::vcs::data::{ + member::MemberId, + sheet::{SheetMappingMetadata, SheetPathBuf}, + vault::mapping_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>, +} diff --git a/src/leegacy_json_output/sheets.rs b/src/leegacy_json_output/sheets.rs new file mode 100644 index 0000000..2dc0c81 --- /dev/null +++ b/src/leegacy_json_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, +} |
