diff --git a/hammond-data/src/dbqueries.rs b/hammond-data/src/dbqueries.rs index 04bdcdc..947c671 100644 --- a/hammond-data/src/dbqueries.rs +++ b/hammond-data/src/dbqueries.rs @@ -33,6 +33,18 @@ pub fn get_podcasts() -> Result, DataError> { .map_err(From::from) } +pub fn get_podcasts_filter(ids_list: &[i32]) -> Result, DataError> { + use schema::podcast::dsl::*; + let db = connection(); + let con = db.get()?; + + podcast + .order(title.asc()) + .filter(id.eq_any(ids_list)) + .load::(&con) + .map_err(From::from) +} + pub fn get_episodes() -> Result, DataError> { use schema::episode::dsl::*; let db = connection(); @@ -102,7 +114,10 @@ pub fn get_episode_local_uri_from_id(ep_id: i32) -> Result, DataE .map_err(From::from) } -pub fn get_episodes_widgets_with_limit(limit: u32) -> Result, DataError> { +pub fn get_episodes_widgets_filter_limit( + ids: &[i32], + limit: u32, +) -> Result, DataError> { use schema::episode; let db = connection(); let con = db.get()?; @@ -120,6 +135,7 @@ pub fn get_episodes_widgets_with_limit(limit: u32) -> Result(&con) .map_err(From::from) diff --git a/hammond-gtk/src/views/episodes.rs b/hammond-gtk/src/views/episodes.rs index 09c623a..a05bdee 100644 --- a/hammond-gtk/src/views/episodes.rs +++ b/hammond-gtk/src/views/episodes.rs @@ -77,7 +77,7 @@ impl Default for EpisodesView { impl EpisodesView { pub fn new(sender: Sender) -> Result { let view = EpisodesView::default(); - let episodes = dbqueries::get_episodes_widgets_with_limit(50)?; + let episodes = dbqueries::get_episodes_widgets_filter_limit(&[], 50)?; let now_utc = Utc::now(); episodes.into_iter().for_each(|ep| {