diff --git a/hammond-data/src/dbqueries.rs b/hammond-data/src/dbqueries.rs index 10df983..9dfbd81 100644 --- a/hammond-data/src/dbqueries.rs +++ b/hammond-data/src/dbqueries.rs @@ -14,7 +14,7 @@ pub fn get_sources() -> Result> { let db = connection(); let con = db.get()?; - Ok(source.load::(&*con)?) + source.load::(&*con).map_err(From::from) } pub fn get_podcasts() -> Result> { @@ -22,7 +22,7 @@ pub fn get_podcasts() -> Result> { let db = connection(); let con = db.get()?; - Ok(podcast.load::(&*con)?) + podcast.load::(&*con).map_err(From::from) } pub fn get_episodes() -> Result> { @@ -30,7 +30,10 @@ pub fn get_episodes() -> Result> { let db = connection(); let con = db.get()?; - Ok(episode.order(epoch.desc()).load::(&*con)?) + episode + .order(epoch.desc()) + .load::(&*con) + .map_err(From::from) } pub(crate) fn get_downloaded_episodes() -> Result> { @@ -38,10 +41,11 @@ pub(crate) fn get_downloaded_episodes() -> Result> { let db = connection(); let con = db.get()?; - Ok(episode + episode .select((rowid, local_uri, played)) .filter(local_uri.is_not_null()) - .load::(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_played_episodes() -> Result> { @@ -49,7 +53,10 @@ pub fn get_played_episodes() -> Result> { let db = connection(); let con = db.get()?; - Ok(episode.filter(played.is_not_null()).load::(&*con)?) + episode + .filter(played.is_not_null()) + .load::(&*con) + .map_err(From::from) } pub fn get_played_cleaner_episodes() -> Result> { @@ -57,10 +64,11 @@ pub fn get_played_cleaner_episodes() -> Result> { let db = connection(); let con = db.get()?; - Ok(episode + episode .select((rowid, local_uri, played)) .filter(played.is_not_null()) - .load::(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_episode_from_rowid(ep_id: i32) -> Result { @@ -68,9 +76,10 @@ pub fn get_episode_from_rowid(ep_id: i32) -> Result { let db = connection(); let con = db.get()?; - Ok(episode + episode .filter(rowid.eq(ep_id)) - .get_result::(&*con)?) + .get_result::(&*con) + .map_err(From::from) } pub fn get_episode_local_uri_from_id(ep_id: i32) -> Result> { @@ -79,10 +88,11 @@ pub fn get_episode_local_uri_from_id(ep_id: i32) -> Result> { let db = connection(); let con = db.get()?; - Ok(episode + episode .filter(rowid.eq(ep_id)) .select(local_uri) - .get_result::>(&*con)?) + .get_result::>(&*con) + .map_err(From::from) } pub fn get_episodes_with_limit(limit: u32) -> Result> { @@ -91,10 +101,11 @@ pub fn get_episodes_with_limit(limit: u32) -> Result> { let db = connection(); let con = db.get()?; - Ok(episode + episode .order(epoch.desc()) .limit(i64::from(limit)) - .load::(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_episodes_widgets_with_limit(limit: u32) -> Result> { @@ -103,7 +114,7 @@ pub fn get_episodes_widgets_with_limit(limit: u32) -> Result Result(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_podcast_from_id(pid: i32) -> Result { @@ -125,7 +137,10 @@ pub fn get_podcast_from_id(pid: i32) -> Result { let db = connection(); let con = db.get()?; - Ok(podcast.filter(id.eq(pid)).get_result::(&*con)?) + podcast + .filter(id.eq(pid)) + .get_result::(&*con) + .map_err(From::from) } pub fn get_podcast_cover_from_id(pid: i32) -> Result { @@ -133,10 +148,11 @@ pub fn get_podcast_cover_from_id(pid: i32) -> Result { let db = connection(); let con = db.get()?; - Ok(podcast + podcast .select((id, title, image_uri)) .filter(id.eq(pid)) - .get_result::(&*con)?) + .get_result::(&*con) + .map_err(From::from) } pub fn get_pd_episodes(parent: &Podcast) -> Result> { @@ -145,9 +161,10 @@ pub fn get_pd_episodes(parent: &Podcast) -> Result> { let db = connection(); let con = db.get()?; - Ok(Episode::belonging_to(parent) + Episode::belonging_to(parent) .order(epoch.desc()) - .load::(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_pd_episodeswidgets(parent: &Podcast) -> Result> { @@ -156,13 +173,12 @@ pub fn get_pd_episodeswidgets(parent: &Podcast) -> Result(&*con)?, - ) + .load::(&*con) + .map_err(From::from) } pub fn get_pd_unplayed_episodes(parent: &Podcast) -> Result> { @@ -171,10 +187,11 @@ pub fn get_pd_unplayed_episodes(parent: &Podcast) -> Result> { let db = connection(); let con = db.get()?; - Ok(Episode::belonging_to(parent) + Episode::belonging_to(parent) .filter(played.is_null()) .order(epoch.desc()) - .load::(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_pd_episodes_limit(parent: &Podcast, limit: u32) -> Result> { @@ -183,10 +200,11 @@ pub fn get_pd_episodes_limit(parent: &Podcast, limit: u32) -> Result(&*con)?) + .load::(&*con) + .map_err(From::from) } pub fn get_source_from_uri(uri_: &str) -> Result { @@ -194,7 +212,10 @@ pub fn get_source_from_uri(uri_: &str) -> Result { let db = connection(); let con = db.get()?; - Ok(source.filter(uri.eq(uri_)).get_result::(&*con)?) + source + .filter(uri.eq(uri_)) + .get_result::(&*con) + .map_err(From::from) } // pub fn get_podcast_from_title(title_: &str) -> QueryResult { @@ -212,9 +233,10 @@ pub fn get_podcast_from_source_id(sid: i32) -> Result { let db = connection(); let con = db.get()?; - Ok(podcast + podcast .filter(source_id.eq(sid)) - .get_result::(&*con)?) + .get_result::(&*con) + .map_err(From::from) } pub fn get_episode_from_pk(con: &SqliteConnection, title_: &str, pid: i32) -> QueryResult { @@ -292,10 +314,9 @@ pub fn update_none_to_played_now(parent: &Podcast) -> Result { let epoch_now = Utc::now().timestamp() as i32; con.transaction(|| -> Result { - Ok( - diesel::update(Episode::belonging_to(parent).filter(played.is_null())) - .set(played.eq(Some(epoch_now))) - .execute(&*con)?, - ) + diesel::update(Episode::belonging_to(parent).filter(played.is_null())) + .set(played.eq(Some(epoch_now))) + .execute(&*con) + .map_err(From::from) }) }