diff options
Diffstat (limited to 'crates/atuin-server-database')
| -rw-r--r-- | crates/atuin-server-database/Cargo.toml | 7 | ||||
| -rw-r--r-- | crates/atuin-server-database/src/lib.rs | 21 |
2 files changed, 22 insertions, 6 deletions
diff --git a/crates/atuin-server-database/Cargo.toml b/crates/atuin-server-database/Cargo.toml index e361c68b..52ccbf97 100644 --- a/crates/atuin-server-database/Cargo.toml +++ b/crates/atuin-server-database/Cargo.toml @@ -12,9 +12,10 @@ repository = { workspace = true } [dependencies] atuin-common = { path = "../atuin-common", version = "18.16.1" } -tracing = { workspace = true } -time = { workspace = true } +async-trait = { workspace = true } eyre = { workspace = true } serde = { workspace = true } -async-trait = { workspace = true } +sqlx = { workspace = true } +time = { workspace = true } +tracing = { workspace = true } url = "2.5.2" diff --git a/crates/atuin-server-database/src/lib.rs b/crates/atuin-server-database/src/lib.rs index 6000a530..9dd95eef 100644 --- a/crates/atuin-server-database/src/lib.rs +++ b/crates/atuin-server-database/src/lib.rs @@ -31,9 +31,24 @@ impl Display for DbError { } } -impl<T: std::error::Error + Into<time::error::Error>> From<T> for DbError { - fn from(value: T) -> Self { - DbError::Other(value.into().into()) +impl From<time::error::ComponentRange> for DbError { + fn from(error: time::error::ComponentRange) -> Self { + DbError::Other(error.into()) + } +} + +impl From<time::error::Error> for DbError { + fn from(error: time::error::Error) -> Self { + DbError::Other(error.into()) + } +} + +impl From<sqlx::Error> for DbError { + fn from(error: sqlx::Error) -> Self { + match error { + sqlx::Error::RowNotFound => DbError::NotFound, + error => DbError::Other(error.into()), + } } } |
