1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct CreateDirArgs {
    pub path: String,
    pub include_components: bool,
}

impl crate::core::SchemaInfo for CreateDirArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RenameDirArgs {
    pub from: String,
    pub to: String,
}

impl crate::core::SchemaInfo for RenameDirArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RemoveDirArgs {
    pub path: String,
    pub non_empty: bool,
}

impl crate::core::SchemaInfo for RemoveDirArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct ListDirContentsArgs {
    pub path: String,
}

impl crate::core::SchemaInfo for ListDirContentsArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct OpenFileArgs {
    pub path: String,
    pub create_if_missing: bool,
    pub write_access: bool,
    pub read_access: bool,
}

impl crate::core::SchemaInfo for OpenFileArgs {}

impl From<String> for OpenFileArgs {
    fn from(path: String) -> Self {
        Self {
            path,
            create_if_missing: true,
            write_access: true,
            read_access: true,
        }
    }
}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct CloseFileArgs {
    pub id: u32,
    pub sig: u32,
}

impl crate::core::SchemaInfo for CloseFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RenameUnopenedFileArgs {
    pub from: String,
    pub to: String,
}

impl crate::core::SchemaInfo for RenameUnopenedFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RenameFileArgs {
    pub id: u32,
    pub sig: u32,
    pub to: String,
}

impl crate::core::SchemaInfo for RenameFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RemoveUnopenedFileArgs {
    pub path: String,
}

impl crate::core::SchemaInfo for RemoveUnopenedFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct RemoveFileArgs {
    pub id: u32,
    pub sig: u32,
}

impl crate::core::SchemaInfo for RemoveFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct ReadFileArgs {
    pub id: u32,
    pub sig: u32,
}

impl crate::core::SchemaInfo for ReadFileArgs {}

#[derive(
    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
)]
pub struct WriteFileArgs {
    pub id: u32,
    pub sig: u32,
    pub contents: Vec<u8>,
}

impl crate::core::SchemaInfo for WriteFileArgs {}