diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
commit | db511d3fe50f05329615f718515fab1b80d9e06a (patch) | |
tree | 7969fea01be100cbe4385ad13a14940a987ac513 /server/src/routes/ui/player.rs | |
parent | 82e8a55a1496ae9132e13e7286fe1c0d57d586d3 (diff) | |
download | jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.bz2 jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.zst |
no direct redb access
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![]; |