diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-29 18:03:06 +0100 |
commit | db511d3fe50f05329615f718515fab1b80d9e06a (patch) | |
tree | 7969fea01be100cbe4385ad13a14940a987ac513 /server/src/routes/ui/browser.rs | |
parent | 82e8a55a1496ae9132e13e7286fe1c0d57d586d3 (diff) | |
download | jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.bz2 jellything-db511d3fe50f05329615f718515fab1b80d9e06a.tar.zst |
no direct redb access
Diffstat (limited to 'server/src/routes/ui/browser.rs')
-rw-r--r-- | server/src/routes/ui/browser.rs | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/server/src/routes/ui/browser.rs b/server/src/routes/ui/browser.rs index 9a5fb6c..a15dc27 100644 --- a/server/src/routes/ui/browser.rs +++ b/server/src/routes/ui/browser.rs @@ -10,8 +10,7 @@ use super::{ node::NodeCard, sort::{filter_and_sort_nodes, NodeFilterSort, NodeFilterSortForm, SortOrder, SortProperty}, }; -use crate::{database::DataAcid, uri}; -use jellybase::database::{redb::ReadableTable, T_NODE, T_USER_NODE}; +use crate::{database::Database, uri}; use rocket::{get, State}; /// This function is a stub and only useful for use in the uri! macro. @@ -21,30 +20,11 @@ pub fn r_all_items() {} #[get("/items?<page>&<filter..>")] pub fn r_all_items_filter( sess: Session, - db: &State<DataAcid>, + db: &State<Database>, page: Option<usize>, filter: NodeFilterSort, ) -> Result<DynLayoutPage<'_>, MyError> { - let mut items = { - let txn = db.begin_read()?; - let nodes = txn.open_table(T_NODE)?; - let node_users = txn.open_table(T_USER_NODE)?; - let i = nodes - .iter()? - .map(|a| { - let (x, y) = a.unwrap(); - let (x, y) = (x.value().to_owned(), y.value().0); - let z = node_users - .get(&(sess.user.name.as_str(), x.as_str())) - .unwrap() - .map(|z| z.value().0) - .unwrap_or_default(); - (x, y, z) - }) - .collect::<Vec<_>>(); - drop(nodes); - i - }; + let mut items = db.list_nodes_with_udata(sess.user.name.as_str())?; filter_and_sort_nodes( &filter, @@ -65,8 +45,8 @@ pub fn r_all_items_filter( .page.dir { h1 { "All Items" } @NodeFilterSortForm { f: &filter } - ul.children { @for (id, node, udata) in &items[from..to] { - li {@NodeCard { id, node, udata }} + ul.children { @for (node, udata) in &items[from..to] { + li {@NodeCard { node, udata }} }} p.pagecontrols { span.current { "Page " @{page + 1} " of " @max_page " " } |