file_storage/error/
operation.rs

1use std::fmt::{Display, Formatter};
2
3/// A file or folder operation.
4#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug)]
5pub enum Operation {
6    /// Check if a file exists.
7    Exists,
8
9    /// Read a file.
10    Read,
11
12    /// Write a file.
13    Write,
14
15    /// Delete a file.
16    Delete,
17
18    /// List the files in a folder.
19    ListFiles,
20
21    /// Delete the files in a folder.
22    DeleteFiles,
23
24    /// Modify the path.
25    ModifyPath,
26}
27
28impl Display for Operation {
29    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
30        let s: &str = match self {
31            Operation::Exists => "exists",
32            Operation::Read => "read",
33            Operation::Write => "write",
34            Operation::Delete => "delete",
35            Operation::ListFiles => "list-files",
36            Operation::DeleteFiles => "delete-files",
37            Operation::ModifyPath => "modify-path",
38        };
39        write!(f, "{}", s)
40    }
41}