terraphim_persistence/
error.rs1use terraphim_settings;
2
3#[derive(thiserror::Error, Debug)]
5pub enum Error {
6 #[error("Error with profile: {0}")]
7 Profile(String),
8
9 #[error("OpenDal error: {0}")]
10 OpenDal(Box<opendal::Error>),
11
12 #[error("JSON error: {0}")]
13 Json(#[from] serde_json::Error),
14
15 #[error("No operator found")]
16 NoOperator,
17
18 #[error("Not found: {0}")]
19 NotFound(String),
20
21 #[error("Settings error: {0}")]
22 Settings(#[from] terraphim_settings::Error),
23
24 #[error("IO error: {0}")]
25 Io(#[from] std::io::Error),
26
27 #[error("Serialization error: {0}")]
28 Serde(String),
29}
30
31impl From<opendal::Error> for Error {
32 fn from(error: opendal::Error) -> Self {
33 Error::OpenDal(Box::new(error))
34 }
35}
36
37pub type Result<T> = std::result::Result<T, Error>;