diff options
Diffstat (limited to 'logic/src/items.rs')
| -rw-r--r-- | logic/src/items.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/logic/src/items.rs b/logic/src/items.rs deleted file mode 100644 index c618b9b..0000000 --- a/logic/src/items.rs +++ /dev/null @@ -1,36 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - -use crate::{DATABASE, filter_sort::filter_and_sort_nodes, session::Session}; -use anyhow::Result; - -pub fn all_items( - session: &Session, - page: Option<usize>, - filter: NodeFilterSort, -) -> Result<ApiItemsResponse> { - let mut items = DATABASE.list_nodes_with_udata(session.user.name.as_str())?; - - items.retain(|(n, _)| matches!(n.visibility, Visibility::Visible)); - - filter_and_sort_nodes( - &filter, - (SortProperty::Title, SortOrder::Ascending), - &mut items, - ); - - let page_size = 100; - let page = page.unwrap_or(0); - let offset = page * page_size; - let from = offset.min(items.len()); - let to = (offset + page_size).min(items.len()); - let max_page = items.len().div_ceil(page_size); - Ok(ApiItemsResponse { - count: items.len(), - pages: max_page, - items: items[from..to].to_vec(), - }) -} |