Skip to main content

over_there/core/msg/content/request/io/
fs.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(
5    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
6)]
7pub struct CreateDirArgs {
8    pub path: String,
9    pub include_components: bool,
10}
11
12impl crate::core::SchemaInfo for CreateDirArgs {}
13
14#[derive(
15    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
16)]
17pub struct RenameDirArgs {
18    pub from: String,
19    pub to: String,
20}
21
22impl crate::core::SchemaInfo for RenameDirArgs {}
23
24#[derive(
25    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
26)]
27pub struct RemoveDirArgs {
28    pub path: String,
29    pub non_empty: bool,
30}
31
32impl crate::core::SchemaInfo for RemoveDirArgs {}
33
34#[derive(
35    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
36)]
37pub struct ListDirContentsArgs {
38    pub path: String,
39}
40
41impl crate::core::SchemaInfo for ListDirContentsArgs {}
42
43#[derive(
44    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
45)]
46pub struct OpenFileArgs {
47    pub path: String,
48    pub create_if_missing: bool,
49    pub write_access: bool,
50    pub read_access: bool,
51}
52
53impl crate::core::SchemaInfo for OpenFileArgs {}
54
55impl From<String> for OpenFileArgs {
56    fn from(path: String) -> Self {
57        Self {
58            path,
59            create_if_missing: true,
60            write_access: true,
61            read_access: true,
62        }
63    }
64}
65
66#[derive(
67    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
68)]
69pub struct CloseFileArgs {
70    pub id: u32,
71    pub sig: u32,
72}
73
74impl crate::core::SchemaInfo for CloseFileArgs {}
75
76#[derive(
77    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
78)]
79pub struct RenameUnopenedFileArgs {
80    pub from: String,
81    pub to: String,
82}
83
84impl crate::core::SchemaInfo for RenameUnopenedFileArgs {}
85
86#[derive(
87    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
88)]
89pub struct RenameFileArgs {
90    pub id: u32,
91    pub sig: u32,
92    pub to: String,
93}
94
95impl crate::core::SchemaInfo for RenameFileArgs {}
96
97#[derive(
98    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
99)]
100pub struct RemoveUnopenedFileArgs {
101    pub path: String,
102}
103
104impl crate::core::SchemaInfo for RemoveUnopenedFileArgs {}
105
106#[derive(
107    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
108)]
109pub struct RemoveFileArgs {
110    pub id: u32,
111    pub sig: u32,
112}
113
114impl crate::core::SchemaInfo for RemoveFileArgs {}
115
116#[derive(
117    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
118)]
119pub struct ReadFileArgs {
120    pub id: u32,
121    pub sig: u32,
122}
123
124impl crate::core::SchemaInfo for ReadFileArgs {}
125
126#[derive(
127    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
128)]
129pub struct WriteFileArgs {
130    pub id: u32,
131    pub sig: u32,
132    pub contents: Vec<u8>,
133}
134
135impl crate::core::SchemaInfo for WriteFileArgs {}