aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server-database
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-server-database')
-rw-r--r--crates/atuin-server-database/Cargo.toml7
-rw-r--r--crates/atuin-server-database/src/lib.rs21
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()),
+ }
}
}