over_there/core/msg/content/request/io/
fs.rs1use 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 {}