summaryrefslogtreecommitdiff
path: root/src/database/search_results.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/search_results.rs')
-rw-r--r--src/database/search_results.rs36
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,
+ );
+ }
+}