browser_protocol/filesystem/
mod.rs1use serde::{Serialize, Deserialize};
2
3
4#[derive(Debug, Clone, Serialize, Deserialize, Default)]
5#[serde(rename_all = "camelCase")]
6pub struct File {
7
8 pub name: String,
9 pub lastModified: crate::network::TimeSinceEpoch,
12 pub size: f64,
15
16 #[serde(rename = "type")]
17 pub type_: String,
18}
19
20
21#[derive(Debug, Clone, Serialize, Deserialize, Default)]
22#[serde(rename_all = "camelCase")]
23pub struct Directory {
24
25 pub name: String,
26
27 pub nestedDirectories: Vec<String>,
28 pub nestedFiles: Vec<File>,
31}
32
33
34#[derive(Debug, Clone, Serialize, Deserialize, Default)]
35#[serde(rename_all = "camelCase")]
36pub struct BucketFileSystemLocator {
37 pub storageKey: crate::storage::SerializedStorageKey,
40 #[serde(skip_serializing_if = "Option::is_none")]
43 pub bucketName: Option<String>,
44 pub pathComponents: Vec<String>,
47}
48
49
50#[derive(Debug, Clone, Serialize, Deserialize, Default)]
51#[serde(rename_all = "camelCase")]
52pub struct GetDirectoryParams {
53
54 pub bucketFileSystemLocator: BucketFileSystemLocator,
55}
56
57
58#[derive(Debug, Clone, Serialize, Deserialize, Default)]
59#[serde(rename_all = "camelCase")]
60pub struct GetDirectoryReturns {
61 pub directory: Directory,
64}