1use std::path::PathBuf;
2
3use serde::{Deserialize, Serialize};
4
5use crate::model::diff::diff_entry_status::DiffEntryStatus;
6
7use super::StatusMessage;
8#[derive(Deserialize, Serialize, Debug)]
9pub struct DirTreeDiffResponse {
10 pub dirs: Vec<DirDiffTreeSummary>,
11 #[serde(flatten)]
12 pub status: StatusMessage,
13}
14
15#[derive(Deserialize, Serialize, Debug, Clone)]
16pub struct DirDiffTreeSummary {
17 pub name: PathBuf,
18 pub status: DiffEntryStatus,
19 pub num_subdirs: usize,
20 pub can_display: bool,
21 pub children: Vec<DirDiffStatus>,
22}
23
24#[derive(Deserialize, Serialize, Debug, Clone)]
25pub struct DirDiffStatus {
26 pub name: PathBuf,
27 pub status: DiffEntryStatus,
28}