aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/player.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-29 18:03:06 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-29 18:03:06 +0100
commitdb511d3fe50f05329615f718515fab1b80d9e06a (patch)
tree7969fea01be100cbe4385ad13a14940a987ac513 /server/src/routes/ui/player.rs
parent82e8a55a1496ae9132e13e7286fe1c0d57d586d3 (diff)
downloadjellything-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.rs17
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![];