diff options
Diffstat (limited to 'server/src/ui/player.rs')
-rw-r--r-- | server/src/ui/player.rs | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/server/src/ui/player.rs b/server/src/ui/player.rs index 573530b..94ca6ac 100644 --- a/server/src/ui/player.rs +++ b/server/src/ui/player.rs @@ -4,7 +4,7 @@ Copyright (C) 2025 metamuffin <metamuffin.org> */ use super::error::MyResult; -use crate::{database::Database, locale::AcceptLanguage}; +use crate::{database::Database, helper::A, locale::AcceptLanguage}; use jellybase::CONF; use jellycommon::{ api::NodeFilterSort, @@ -24,6 +24,7 @@ use rocket::{ response::{content::RawHtml, Redirect}, Either, State, }; +use std::time::Duration; fn jellynative_url(action: &str, seek: f64, secret: &str, node: &str, session: &str) -> String { let protocol = if CONF.tls { "https" } else { "http" }; @@ -41,31 +42,38 @@ fn jellynative_url(action: &str, seek: f64, secret: &str, node: &str, session: & #[get("/n/<id>/player?<t>", rank = 4)] pub fn r_player( - session: Session, + session: A<Session>, lang: AcceptLanguage, db: &State<Database>, t: Option<f64>, - id: NodeID, + id: A<NodeID>, ) -> MyResult<Either<RawHtml<String>, Redirect>> { let AcceptLanguage(lang) = lang; - let r = get_node(&db, id, &session, false, true, NodeFilterSort::default())?; + let r = get_node( + &db, + id.0, + &session.0, + false, + true, + NodeFilterSort::default(), + )?; let native_session = |action: &str| { Ok(Either::Right(Redirect::temporary(jellynative_url( action, t.unwrap_or(0.), - &session.user.native_secret, - &id.to_string(), + &session.0.user.native_secret, + &id.0.to_string(), &jellylogic::session::create( - session.user.name, + session.0.user.name.clone(), PermissionSet::default(), // TODO - chrono::Duration::hours(24), + Duration::from_hours(24), ), )))) }; - match session.user.player_preference { + match session.0.user.player_preference { PlayerKind::Browser => (), PlayerKind::Native => { return native_session("player-v2"); @@ -103,7 +111,9 @@ pub fn r_player( }, RenderInfo { importing: is_importing(), - session: Some(SessionInfo { user: session.user }), + session: Some(SessionInfo { + user: session.0.user, + }), }, lang, )))) |