diff --git a/src/api/playlist.rs b/src/api/playlist.rs new file mode 100644 index 0000000..fa6d028 --- /dev/null +++ b/src/api/playlist.rs @@ -0,0 +1,23 @@ +use leptos::*; +use crate::playlistdata::PlaylistData; +use crate::songdata::SongData; +use log::*; + +use cfg_if::cfg_if; + +cfg_if! { + if #[cfg(feature = "ssr")] { + use leptos::server_fn::error::NoCustomError; + use crate::database::get_db_conn; + } +} + +#[server(endpoint = "playlist/get")] +pub async fn get_playlist(id: i32) -> Result { + use crate::models::Playlist; + let db_con = &mut get_db_conn(); + let playlist = Playlist::get_playlist_data(id,db_con) + .map_err(|e| ServerFnError::::ServerError(format!("Error getting playlist: {}", e)))?; + Ok(playlist) +} +