diff options
Diffstat (limited to 'server/src/routes/items.rs')
| -rw-r--r-- | server/src/routes/items.rs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/server/src/routes/items.rs b/server/src/routes/items.rs index 84869a1..8db60da 100644 --- a/server/src/routes/items.rs +++ b/server/src/routes/items.rs @@ -4,17 +4,16 @@ Copyright (C) 2026 metamuffin <metamuffin.org> */ -use crate::{request_info::RequestInfo, routes::error::MyResult}; +use crate::{ + request_info::RequestInfo, + routes::{error::MyResult, node::create_nku}, +}; use anyhow::anyhow; use base64::{Engine, prelude::BASE64_URL_SAFE}; -use jellycommon::{ - jellyobject::{EMPTY, Path}, - *, -}; +use jellycommon::{jellyobject::Path, *}; use jellydb::{Filter, MultiBehaviour, Query, Sort, SortOrder, ValueSort}; use jellyui::components::items::Items; use rocket::{get, response::content::RawHtml}; -use std::borrow::Cow; #[get("/items?<cont>")] pub fn r_items(ri: RequestInfo, cont: Option<&str>) -> MyResult<RawHtml<String>> { @@ -45,9 +44,8 @@ pub fn r_items(ri: RequestInfo, cont: Option<&str>) -> MyResult<RawHtml<String>> items.clear(); cont_out = None; - for (r, is) in rows { - let node = txn.get(r)?.unwrap(); - items.push(node); + for (row, is) in rows { + items.push(create_nku(txn, row)?); cont_out = Some(is) } Ok(()) @@ -55,14 +53,7 @@ pub fn r_items(ri: RequestInfo, cont: Option<&str>) -> MyResult<RawHtml<String>> Ok(ri.respond_ui(&Items { ri: &ri.render_info(), - items: &items - .iter() - .map(|node| Nku { - node: Cow::Borrowed(node), - userdata: Cow::Borrowed(EMPTY), - role: None, - }) - .collect::<Vec<_>>(), + items: &items, cont: cont_out.map(|x| BASE64_URL_SAFE.encode(x)), })) } |