From e5e3ad2fed80bea3f2c9c90f87a405bca077691e Mon Sep 17 00:00:00 2001 From: elandsborough Date: Wed, 10 Jan 2024 19:53:36 +0000 Subject: Set default sorting order and method with arguments --- src/listing.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/listing.rs') diff --git a/src/listing.rs b/src/listing.rs index 6e75b0e..40c5a77 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -223,7 +223,7 @@ pub fn directory_listing( res }; - let query_params = extract_query_parameters(req); + let mut query_params = extract_query_parameters(req); let mut entries: Vec = Vec::new(); let mut readme: Option<(String, String)> = None; @@ -299,6 +299,14 @@ pub fn directory_listing( } } + if query_params.sort.is_none() { + query_params.sort = conf.default_sorting_method + } + + if query_params.order.is_none() { + query_params.order = conf.default_sorting_order + } + match query_params.sort.unwrap_or(SortingMethod::Name) { SortingMethod::Name => entries.sort_by(|e1, e2| { alphanumeric_sort::compare_str(e1.name.to_lowercase(), e2.name.to_lowercase()) @@ -319,7 +327,7 @@ pub fn directory_listing( }), }; - if let Some(SortingOrder::Descending) = query_params.order { + if let Some(SortingOrder::Ascending) = query_params.order { entries.reverse() } -- cgit v1.2.3