mod new_episode; mod new_podcast; mod new_source; mod episode; mod podcast; mod source; // use futures::prelude::*; // use futures::future::*; pub(crate) use self::episode::EpisodeCleanerQuery; pub(crate) use self::new_episode::{NewEpisode, NewEpisodeMinimal}; pub(crate) use self::new_podcast::NewPodcast; pub(crate) use self::new_source::NewSource; #[cfg(test)] pub(crate) use self::new_episode::NewEpisodeBuilder; #[cfg(test)] pub(crate) use self::new_podcast::NewPodcastBuilder; pub use self::episode::{Episode, EpisodeMinimal, EpisodeWidgetQuery}; pub use self::podcast::{Podcast, PodcastCoverQuery}; pub use self::source::Source; #[derive(Debug, Clone, PartialEq)] pub enum IndexState { Index(T), Update((T, i32)), NotChanged, } pub trait Insert { type Error; fn insert(&self) -> Result; } pub trait Update { type Error; fn update(&self, i32) -> Result; } // This might need to change in the future pub trait Index: Insert + Update { type Error; fn index(&self) -> Result>::Error>; } /// FIXME: DOCS pub trait Save { /// The Error type to be returned. type Error; /// Helper method to easily save/"sync" current state of a diesel model to /// the Database. fn save(&self) -> Result; }