From 71780b29e73b5f943e7d6f1e0889da9112103bdb Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Sun, 15 Sep 2024 23:23:34 -0400 Subject: Expose sqlx errors directly in repo interfaces. BoxedError conceals the exact nature of the error, which in turn prevents me from using sqlx::Error::RowNotFound to signal absences. --- src/login/repo/logins.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/login/repo/logins.rs') diff --git a/src/login/repo/logins.rs b/src/login/repo/logins.rs index b0c8ce4..11ae50f 100644 --- a/src/login/repo/logins.rs +++ b/src/login/repo/logins.rs @@ -1,6 +1,5 @@ use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction}; -use crate::error::BoxedError; use crate::id::Id as BaseId; use crate::login::app::StoredHash; @@ -32,7 +31,7 @@ impl<'c> Logins<'c> { &mut self, name: &str, password_hash: &StoredHash, - ) -> Result { + ) -> Result { let id = Id::generate(); let login = sqlx::query_as!( @@ -55,7 +54,7 @@ impl<'c> Logins<'c> { Ok(login) } - pub async fn by_id(&mut self, id: &Id) -> Result { + pub async fn by_id(&mut self, id: &Id) -> Result { let login = sqlx::query_as!( Login, r#" @@ -79,7 +78,7 @@ impl<'c> Logins<'c> { pub async fn for_login( &mut self, name: &str, - ) -> Result, BoxedError> { + ) -> Result, sqlx::Error> { let found = sqlx::query!( r#" select -- cgit v1.2.3