aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/routes/api.rs5
-rw-r--r--server/src/routes/compat/jellyfin/mod.rs32
-rw-r--r--server/src/routes/ui/admin/mod.rs4
-rw-r--r--server/src/routes/ui/mod.rs2
-rw-r--r--server/src/routes/ui/player.rs6
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| {