diff options
Diffstat (limited to 'src/database/search_results.rs')
-rw-r--r-- | src/database/search_results.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/database/search_results.rs b/src/database/search_results.rs new file mode 100644 index 0000000..1468111 --- /dev/null +++ b/src/database/search_results.rs @@ -0,0 +1,36 @@ +use crate::database::DatabaseWrapper; +use crate::database::song::Song; +use crate::database::artist::Artist; +use crate::database::album::Album; + +impl DatabaseWrapper { + pub async fn search_results_by_id( + &self, + id: &str, + ) -> ( + Result<Option<Artist>, sqlx::Error>, + Result<Option<Album>, sqlx::Error>, + Result<Option<Song>, sqlx::Error>, + ) { + ( + self.select_artist_by_id(id).await, + self.select_album_by_id(id).await, + self.select_song_by_id(id).await, + ) + } + + pub async fn search_results_by_name( + &self, + name: &str, + ) -> ( + Result<Vec<Artist>, sqlx::Error>, + Result<Vec<Album>, sqlx::Error>, + Result<Vec<Song>, sqlx::Error>, + ) { + return ( + self.select_artists_by_name(name).await, + self.select_albums_by_name(name).await, + self.select_songs_by_name(name).await, + ); + } +} |