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/channels.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/channel/repo/channels.rs') diff --git a/src/channel/repo/channels.rs b/src/channel/repo/channels.rs index fc52aa3..ab7489c 100644 --- a/src/channel/repo/channels.rs +++ b/src/channel/repo/channels.rs @@ -2,7 +2,6 @@ use std::fmt; use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction}; -use crate::error::BoxedError; use crate::id::Id as BaseId; pub trait Provider { @@ -25,7 +24,7 @@ pub struct Channel { impl<'c> Channels<'c> { /// Create a new channel. - pub async fn create(&mut self, name: &str) -> Result { + pub async fn create(&mut self, name: &str) -> Result { let id = Id::generate(); let channel = sqlx::query_scalar!( @@ -44,7 +43,7 @@ impl<'c> Channels<'c> { Ok(channel) } - pub async fn by_id(&mut self, channel: Id) -> Result { + pub async fn by_id(&mut self, channel: Id) -> Result { let channel = sqlx::query_as!( Channel, r#" @@ -60,7 +59,7 @@ impl<'c> Channels<'c> { Ok(channel) } - pub async fn all(&mut self) -> Result, BoxedError> { + pub async fn all(&mut self) -> Result, sqlx::Error> { let channels = sqlx::query_as!( Channel, r#" -- cgit v1.2.3