diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/src/routes/api.rs | 5 | ||||
-rw-r--r-- | server/src/routes/compat/jellyfin/mod.rs | 32 | ||||
-rw-r--r-- | server/src/routes/ui/admin/mod.rs | 4 | ||||
-rw-r--r-- | server/src/routes/ui/mod.rs | 2 | ||||
-rw-r--r-- | server/src/routes/ui/player.rs | 6 |
5 files changed, 22 insertions, 27 deletions
diff --git a/server/src/routes/api.rs b/server/src/routes/api.rs index 4e2211f..83569e0 100644 --- a/server/src/routes/api.rs +++ b/server/src/routes/api.rs @@ -64,9 +64,8 @@ pub fn r_api_nodes_modified_since( ) -> MyResult<Json<Vec<NodeID>>> { let mut nodes = database.get_nodes_modified_since(since)?; nodes.retain(|id| { - database.get_node(*id).map_or(false, |n| { - n.as_ref() - .map_or(false, |n| n.visibility >= Visibility::Reduced) + database.get_node(*id).is_ok_and(|n| { + n.as_ref().is_some_and(|n| n.visibility >= Visibility::Reduced) }) }); Ok(Json(nodes)) diff --git a/server/src/routes/compat/jellyfin/mod.rs b/server/src/routes/compat/jellyfin/mod.rs index eac2f55..ab36a8c 100644 --- a/server/src/routes/compat/jellyfin/mod.rs +++ b/server/src/routes/compat/jellyfin/mod.rs @@ -38,10 +38,10 @@ use serde::Deserialize; use serde_json::{json, Value}; use std::{collections::BTreeMap, net::IpAddr}; -const SERVER_ID: &'static str = "1694a95daf70708147f16103ce7b7566"; -const USER_ID: &'static str = "33f772aae6c2495ca89fe00340dbd17c"; -const VERSION: &'static str = "10.10.0"; -const LOCAL_ADDRESS: &'static str = "http://127.0.0.1:8000"; +const SERVER_ID: &str = "1694a95daf70708147f16103ce7b7566"; +const USER_ID: &str = "33f772aae6c2495ca89fe00340dbd17c"; +const VERSION: &str = "10.10.0"; +const LOCAL_ADDRESS: &str = "http://127.0.0.1:8000"; #[get("/System/Info/Public")] pub fn r_jellyfin_system_info_public_case() -> Json<Value> { @@ -300,12 +300,12 @@ pub fn r_jellyfin_items( let filter_kind = query .include_item_types - .and_then(|n| match n.as_str() { - "Movie" => Some(vec![FilterProperty::KindMovie]), - "Audio" => Some(vec![FilterProperty::KindMusic]), - "Video" => Some(vec![FilterProperty::KindVideo]), - "TvChannel" => Some(vec![FilterProperty::KindChannel]), - _ => Some(vec![]), + .map(|n| match n.as_str() { + "Movie" => vec![FilterProperty::KindMovie], + "Audio" => vec![FilterProperty::KindMusic], + "Video" => vec![FilterProperty::KindVideo], + "TvChannel" => vec![FilterProperty::KindChannel], + _ => vec![], }) .or(if query.internal_artists { Some(vec![]) @@ -498,8 +498,8 @@ pub fn r_jellyfin_playback_bitratetest(_session: Session, Size: usize) -> Vec<u8 } #[post("/Sessions/Capabilities/Full")] -pub fn r_jellyfin_sessions_capabilities_full(_session: Session) -> () { - () +pub fn r_jellyfin_sessions_capabilities_full(_session: Session) { + } #[derive(Deserialize)] @@ -742,7 +742,7 @@ fn item_object(node: &Node, userdata: &NodeUserData) -> JellyfinItem { genres: vec![], remote_trailers: vec![], provider_ids: BTreeMap::new(), - is_folder: !node.media.is_some(), + is_folder: node.media.is_none(), parent_id: "todo-parent".to_owned(), // TODO r#type: match node.kind { NodeKind::Movie | NodeKind::Video | NodeKind::ShortFormVideo => JellyfinItemType::Movie, @@ -796,11 +796,7 @@ fn item_object(node: &Node, userdata: &NodeUserData) -> JellyfinItem { location_type: node.media.as_ref().map(|_| "FileSystem".to_owned()), play_access: node.media.as_ref().map(|_| "Full".to_owned()), container: node.media.as_ref().map(|_| "webm".to_owned()), - run_time_ticks: if let Some(m) = &node.media { - Some((m.duration * 10_000_000.) as i64) - } else { - None - }, + run_time_ticks: node.media.as_ref().map(|m| (m.duration * 10_000_000.) as i64), media_sources: media_source.as_ref().map(|s| vec![s.clone()]), media_streams: media_source.as_ref().map(|s| s.media_streams.clone()), path: node diff --git a/server/src/routes/ui/admin/mod.rs b/server/src/routes/ui/admin/mod.rs index 10c7365..15cc5c0 100644 --- a/server/src/routes/ui/admin/mod.rs +++ b/server/src/routes/ui/admin/mod.rs @@ -171,10 +171,10 @@ pub async fn r_admin_update_search( .await .unwrap(); admin_dashboard( - &database, + database, Some( r.map_err(|e| e.into()) - .map(|_| format!("Search index updated")), + .map(|_| "Search index updated".to_string()), ), ) .await diff --git a/server/src/routes/ui/mod.rs b/server/src/routes/ui/mod.rs index bffdfdd..9a3e61b 100644 --- a/server/src/routes/ui/mod.rs +++ b/server/src/routes/ui/mod.rs @@ -68,7 +68,7 @@ impl<'r> Responder<'r, 'static> for HtmlTemplate<'_> { self.0.render(&mut out).unwrap(); Response::build() .header(ContentType::HTML) - .sized_body(out.as_bytes().len(), Cursor::new(out)) + .sized_body(out.len(), Cursor::new(out)) .ok() } } diff --git a/server/src/routes/ui/player.rs b/server/src/routes/ui/player.rs index f680a45..2f28f74 100644 --- a/server/src/routes/ui/player.rs +++ b/server/src/routes/ui/player.rs @@ -58,12 +58,12 @@ fn jellynative_url(action: &str, seek: f64, secret: &str, node: &str, session: & } #[get("/n/<id>/player?<conf..>", rank = 4)] -pub fn r_player<'a>( +pub fn r_player( sess: Session, - db: &'a State<Database>, + db: &State<Database>, id: NodeID, conf: PlayerConfig, -) -> MyResult<Either<DynLayoutPage<'a>, Redirect>> { +) -> MyResult<Either<DynLayoutPage<'_>, Redirect>> { let node = db.get_node(id)?.ok_or(anyhow!("node does not exist"))?; let native_session = |action: &str| { |