1use fslite_core::{
5 ByteRange, Change, LinkTarget, Node, Page, Revision, SearchMatch, TrashEntry, TreeEntry,
6 WorkspaceUsage,
7};
8use serde::{Deserialize, Serialize};
9
10#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
12#[serde(rename_all = "snake_case")]
13pub enum CommandOutput {
14 Usage(WorkspaceUsage),
15 Node(Node),
16 Exists(bool),
17 Nodes(Page<Node>),
18 Tree(Page<TreeEntry>),
19 Content {
20 logical_length: u64,
21 revision: Revision,
22 range: ByteRange,
23 #[serde(with = "crate::bytes_b64")]
24 bytes: Vec<u8>,
25 },
26 Unit,
27 LinkTarget(LinkTarget),
28 Trash(TrashEntry),
29 TrashList(Page<TrashEntry>),
30 SearchMatches(Page<SearchMatch>),
31 Changes(Page<Change>),
32 Batch(Vec<fslite_core::BatchResult>),
33}