server: handle search with no first/last better

This commit is contained in:
Bill Thiede 2023-11-25 09:05:53 -08:00
parent 24414b04bb
commit 3e3024dd5c

View File

@ -65,6 +65,12 @@ impl QueryRoot {
|after, before, first, last| async move { |after, before, first, last| async move {
info!("{after:?} {before:?} {first:?} {last:?} {query}"); info!("{after:?} {before:?} {first:?} {last:?} {query}");
let total = nm.count(&query)?; let total = nm.count(&query)?;
let (first, last) = if let (None, None) = (first, last) {
info!("neither first nor last set, defaulting to 20");
(Some(20), Some(20))
} else {
(first, last)
};
let mut start = after.map(|after| after + 1).unwrap_or(0); let mut start = after.map(|after| after + 1).unwrap_or(0);
let mut end = before.unwrap_or(total); let mut end = before.unwrap_or(total);
@ -91,17 +97,6 @@ impl QueryRoot {
tags: ts.tags, tags: ts.tags,
}) })
.collect(); .collect();
//let mut slice = &res[..];
/*
if let Some(first) = first {
slice = &slice[..first.min(slice.len())];
end -= first.min(slice.len());
} else if let Some(last) = last {
slice = &slice[slice.len() - last.min(slice.len())..];
start = end - last.min(slice.len());
}
*/
let mut connection = Connection::new(start > 0, end < total); let mut connection = Connection::new(start > 0, end < total);
connection.edges.extend( connection.edges.extend(