diff options
Diffstat (limited to 'server/src/routes/ui/player.rs')
-rw-r--r-- | server/src/routes/ui/player.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/server/src/routes/ui/player.rs b/server/src/routes/ui/player.rs index 178cbba..b24e5e9 100644 --- a/server/src/routes/ui/player.rs +++ b/server/src/routes/ui/player.rs @@ -8,7 +8,7 @@ use super::{ layout::LayoutPage, }; use crate::{ - database::DataAcid, + database::Database, routes::{ stream::rocket_uri_macro_r_stream, ui::{assets::rocket_uri_macro_r_item_backdrop, error::MyResult, layout::DynLayoutPage}, @@ -16,11 +16,7 @@ use crate::{ uri, }; use anyhow::anyhow; -use jellybase::{ - database::{TableExt, T_NODE}, - permission::PermissionSetExt, - CONF, -}; +use jellybase::{permission::PermissionSetExt, CONF}; use jellycommon::{ stream::{StreamFormat, StreamSpec}, user::{PermissionSet, PlayerKind, UserPermission}, @@ -28,6 +24,7 @@ use jellycommon::{ }; use markup::DynRender; use rocket::{get, response::Redirect, Either, FromForm, State, UriDisplayQuery}; +use std::sync::Arc; #[derive(FromForm, Default, Clone, Debug, UriDisplayQuery)] pub struct PlayerConfig { @@ -63,11 +60,13 @@ fn jellynative_url(action: &str, seek: f64, secret: &str, node: &str, session: & #[get("/n/<id>/player?<conf..>", rank = 4)] pub fn r_player<'a>( sess: Session, - db: &'a State<DataAcid>, + db: &'a State<Database>, id: &'a str, conf: PlayerConfig, ) -> MyResult<Either<DynLayoutPage<'a>, Redirect>> { - let item = T_NODE.get(db, id)?.ok_or(anyhow!("node does not exist"))?; + let item = db + .get_node_slug(id)? + .ok_or(anyhow!("node does not exist"))?; let native_session = |action: &str| { let perm = [ @@ -130,7 +129,7 @@ pub fn r_player<'a>( })) } -pub fn player_conf<'a>(item: Node, playing: bool) -> anyhow::Result<DynRender<'a>> { +pub fn player_conf<'a>(item: Arc<Node>, playing: bool) -> anyhow::Result<DynRender<'a>> { let mut audio_tracks = vec![]; let mut video_tracks = vec![]; let mut sub_tracks = vec![]; |