aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui')
-rw-r--r--server/src/ui/items.rs10
-rw-r--r--server/src/ui/node.rs9
2 files changed, 10 insertions, 9 deletions
diff --git a/server/src/ui/items.rs b/server/src/ui/items.rs
index 915963c..ace948f 100644
--- a/server/src/ui/items.rs
+++ b/server/src/ui/items.rs
@@ -4,8 +4,8 @@
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
use super::error::MyError;
-use crate::helper::{accept::Accept, RequestInfo, A};
-use jellycommon::api::{ApiItemsResponse, NodeFilterSort};
+use crate::helper::{accept::Accept, filter_sort::ANodeFilterSort, RequestInfo};
+use jellycommon::api::ApiItemsResponse;
use jellylogic::items::all_items;
use jellyui::{items::ItemsPage, render_page};
use rocket::{get, response::content::RawHtml, serde::json::Json, Either};
@@ -14,9 +14,9 @@ use rocket::{get, response::content::RawHtml, serde::json::Json, Either};
pub fn r_items(
ri: RequestInfo,
page: Option<usize>,
- filter: A<NodeFilterSort>,
+ filter: ANodeFilterSort,
) -> Result<Either<RawHtml<String>, Json<ApiItemsResponse>>, MyError> {
- let r = all_items(&ri.session, page, filter.0.clone())?;
+ let r = all_items(&ri.session, page, filter.clone().into())?;
Ok(if matches!(ri.accept, Accept::Json) {
Either::Right(Json(r))
} else {
@@ -24,7 +24,7 @@ pub fn r_items(
&ItemsPage {
lang: &ri.lang,
r,
- filter: &filter.0,
+ filter: &filter.clone().into(),
page: page.unwrap_or(0),
},
ri.render_info(),
diff --git a/server/src/ui/node.rs b/server/src/ui/node.rs
index 7085a5a..5004b7b 100644
--- a/server/src/ui/node.rs
+++ b/server/src/ui/node.rs
@@ -4,7 +4,7 @@
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
use super::error::MyResult;
-use crate::helper::{RequestInfo, A};
+use crate::helper::{filter_sort::ANodeFilterSort, RequestInfo, A};
use jellycommon::{
api::{ApiNodeResponse, NodeFilterSort},
NodeID,
@@ -17,10 +17,11 @@ use rocket::{get, response::content::RawHtml, serde::json::Json, Either};
pub async fn r_node<'a>(
ri: RequestInfo,
id: A<NodeID>,
- filter: Option<A<NodeFilterSort>>,
+ filter: Option<ANodeFilterSort>,
parents: bool,
children: bool,
) -> MyResult<Either<RawHtml<String>, Json<ApiNodeResponse>>> {
+ let filter: Option<NodeFilterSort> = filter.map(Into::into);
let filter = filter.unwrap_or_default();
let r = get_node(
@@ -28,7 +29,7 @@ pub async fn r_node<'a>(
id.0,
!ri.accept.is_json() || children,
!ri.accept.is_json() || parents,
- filter.0.clone(),
+ filter.clone(),
)?;
Ok(if ri.accept.is_json() {
@@ -41,7 +42,7 @@ pub async fn r_node<'a>(
children: &r.children,
parents: &r.parents,
similar: &[],
- filter: &filter.0,
+ filter: &filter,
lang: &ri.lang,
player: false,
},