From 63cf3d2ae197ce489ab1c14cce34123eb045f35f Mon Sep 17 00:00:00 2001 From: Tsiry Sandratraina Date: Sun, 12 Jan 2025 21:03:29 +0100 Subject: [PATCH] server: add missing API endpoints for playing album, artist tracks and playlist --- crates/server/src/handlers/albums.rs | 4 ++++ crates/server/src/handlers/artists.rs | 5 +++++ crates/server/src/handlers/browse.rs | 4 ++++ crates/server/src/handlers/mod.rs | 3 +++ crates/server/src/handlers/playlists.rs | 4 ++++ crates/server/src/lib.rs | 4 +++- 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/crates/server/src/handlers/albums.rs b/crates/server/src/handlers/albums.rs index 305e0dc68d2..c6057056bde 100644 --- a/crates/server/src/handlers/albums.rs +++ b/crates/server/src/handlers/albums.rs @@ -24,3 +24,7 @@ pub async fn get_album_tracks( res.json(&tracks); Ok(()) } + +pub async fn play_album(ctx: &Context, req: &Request, res: &mut Response) -> Result<(), Error> { + Ok(()) +} diff --git a/crates/server/src/handlers/artists.rs b/crates/server/src/handlers/artists.rs index 68995cc8220..9dc4c34e33c 100644 --- a/crates/server/src/handlers/artists.rs +++ b/crates/server/src/handlers/artists.rs @@ -34,3 +34,8 @@ pub async fn get_artist_tracks( res.json(&tracks); Ok(()) } + +pub async fn play_artist_tracks(ctx: &Context, req: &Request, res: &mut Response) -> Result<(), Error> { + Ok(()) +} + diff --git a/crates/server/src/handlers/browse.rs b/crates/server/src/handlers/browse.rs index 50eba514d1a..f3d029a91bb 100644 --- a/crates/server/src/handlers/browse.rs +++ b/crates/server/src/handlers/browse.rs @@ -77,3 +77,7 @@ pub async fn get_tree_entries( res.json(&entries); Ok(()) } + +pub fn play_directory(ctx: &Context, req: &Request, res: &mut Response) -> Result<(), Error> { + Ok(()) +} diff --git a/crates/server/src/handlers/mod.rs b/crates/server/src/handlers/mod.rs index 6d4170d3a90..94d2a3e5b07 100644 --- a/crates/server/src/handlers/mod.rs +++ b/crates/server/src/handlers/mod.rs @@ -30,10 +30,12 @@ macro_rules! async_handler { async_handler!(albums, get_albums); async_handler!(albums, get_album); async_handler!(albums, get_album_tracks); +async_handler!(albums, play_album); async_handler!(artists, get_artists); async_handler!(artists, get_artist); async_handler!(artists, get_artist_albums); async_handler!(artists, get_artist_tracks); +async_handler!(artists, play_artist_tracks); async_handler!(browse, get_tree_entries); async_handler!(player, load); async_handler!(player, play); @@ -60,6 +62,7 @@ async_handler!(playlists, get_playlist_tracks); async_handler!(playlists, insert_tracks); async_handler!(playlists, remove_tracks); async_handler!(playlists, get_playlist); +async_handler!(playlists, play_playlist); async_handler!(tracks, get_tracks); async_handler!(tracks, get_track); async_handler!(system, get_rockbox_version); diff --git a/crates/server/src/handlers/playlists.rs b/crates/server/src/handlers/playlists.rs index 59b5de71dc5..0f15ceb4518 100644 --- a/crates/server/src/handlers/playlists.rs +++ b/crates/server/src/handlers/playlists.rs @@ -399,3 +399,7 @@ pub async fn get_playlist(ctx: &Context, _req: &Request, res: &mut Response) -> drop(player_mutex); Ok(()) } + +pub async fn play_playlist(ctx: &Context, req: &Request, res: &mut Response) -> Result<(), Error> { + Ok(()) +} diff --git a/crates/server/src/lib.rs b/crates/server/src/lib.rs index e86ef894e9b..2b733b5b86a 100644 --- a/crates/server/src/lib.rs +++ b/crates/server/src/lib.rs @@ -57,11 +57,12 @@ pub extern "C" fn start_server() { app.get("/albums", get_albums); app.get("/albums/:id", get_album); app.get("/albums/:id/tracks", get_album_tracks); - + app.put("/albums/:id/play", play_album); app.get("/artists", get_artists); app.get("/artists/:id", get_artist); app.get("/artists/:id/albums", get_artist_albums); app.get("/artists/:id/tracks", get_artist_tracks); + app.put("/artists/:id/play", play_artist_tracks); app.get("/browse/tree-entries", get_tree_entries); @@ -91,6 +92,7 @@ pub extern "C" fn start_server() { app.post("/playlists/:id/tracks", insert_tracks); app.delete("/playlists/:id/tracks", remove_tracks); app.get("/playlists/:id", get_playlist); + app.put("/playlists/:id/play", play_playlist); app.get("/tracks", get_tracks); app.get("/tracks/:id", get_track);