nimbuspulse_client/types/
files.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Default, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
4pub enum FmRoot {
5 #[default]
6 DcsSavedGames,
7 AerosimicsAtcAbm,
8}
9
10#[derive(Debug, Serialize)]
11pub(crate) struct FilePathQuery {
12 pub root: FmRoot,
13 pub path: String,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
17pub struct FileInfo {
18 pub name: String,
19 pub path: String,
20 pub is_directory: bool,
21 pub size: Option<u64>,
22 pub modified: Option<u64>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
26pub struct FileListResponse {
27 pub files: Vec<FileInfo>,
28 pub current_path: String,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
32pub struct MoveFileRequest {
33 pub root: FmRoot,
34 pub source: String,
35 pub destination: String,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
39pub struct FileUploadRequest {
40 pub path: String,
41 pub content: Vec<u8>,
42 pub overwrite: bool,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
46pub struct FileDownloadResponse {
47 pub content: Vec<u8>,
48 pub filename: String,
49}