summaryrefslogtreecommitdiff
path: root/src/login/repo/logins.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-09-15 23:23:34 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-09-16 11:03:04 -0400
commit71780b29e73b5f943e7d6f1e0889da9112103bdb (patch)
tree081e688c850591255b4af0bdae19c47b420822c6 /src/login/repo/logins.rs
parentc5434c066a21107dc146801f940b02d61d260555 (diff)
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.
Diffstat (limited to 'src/login/repo/logins.rs')
-rw-r--r--src/login/repo/logins.rs7
1 files changed, 3 insertions, 4 deletions
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<Login, BoxedError> {
+ ) -> Result<Login, sqlx::Error> {
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<Login, BoxedError> {
+ pub async fn by_id(&mut self, id: &Id) -> Result<Login, sqlx::Error> {
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<Option<(Login, StoredHash)>, BoxedError> {
+ ) -> Result<Option<(Login, StoredHash)>, sqlx::Error> {
let found = sqlx::query!(
r#"
select