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/channel/repo/messages.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/channel/repo/messages.rs') diff --git a/src/channel/repo/messages.rs b/src/channel/repo/messages.rs index 2c89724..a30e6da 100644 --- a/src/channel/repo/messages.rs +++ b/src/channel/repo/messages.rs @@ -5,7 +5,6 @@ use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction}; use super::channels::Id as ChannelId; use crate::{ clock::DateTime, - error::BoxedError, id::Id as BaseId, login::repo::logins::{Id as LoginId, Login, Logins}, }; @@ -37,7 +36,7 @@ impl<'c> Messages<'c> { channel: &ChannelId, body: &str, sent_at: &DateTime, - ) -> Result { + ) -> Result { let id = Id::generate(); let sender = Logins::from(&mut *self.0).by_id(sender).await?; @@ -78,7 +77,7 @@ impl<'c> Messages<'c> { &mut self, channel: &ChannelId, resume_at: Option<&DateTime>, - ) -> Result, BoxedError> { + ) -> Result, sqlx::Error> { let messages = sqlx::query!( r#" select -- cgit v1.2.3