summaryrefslogtreecommitdiff
path: root/src/legacy_json_output/share.rs
blob: 85288423f987680dd84c78598e74a72e51759ee0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use std::collections::HashMap;

use just_enough_vcs::lib::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>,
}