aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/client
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/command/client/search.rs32
-rw-r--r--src/command/client/search/interactive.rs12
2 files changed, 23 insertions, 21 deletions
diff --git a/src/command/client/search.rs b/src/command/client/search.rs
index f437783d..3098267a 100644
--- a/src/command/client/search.rs
+++ b/src/command/client/search.rs
@@ -148,13 +148,25 @@ async fn run_non_interactive(
let context = current_context();
+ let before = before.and_then(|b| {
+ interim::parse_date_string(b.as_str(), Utc::now(), interim::Dialect::Uk)
+ .map_or(None, |d| Some(d.timestamp_nanos()))
+ });
+
+ let after = after.and_then(|a| {
+ interim::parse_date_string(a.as_str(), Utc::now(), interim::Dialect::Uk)
+ .map_or(None, |d| Some(d.timestamp_nanos()))
+ });
+
let results = db
.search(
- limit,
settings.search_mode,
settings.filter_mode,
&context,
query.join(" ").as_str(),
+ limit,
+ before,
+ after,
)
.await?;
@@ -187,24 +199,6 @@ async fn run_non_interactive(
}
}
- if let Some(before) = &before {
- let before =
- interim::parse_date_string(before.as_str(), Utc::now(), interim::Dialect::Uk);
-
- if before.is_err() || h.timestamp.gt(&before.unwrap()) {
- return false;
- }
- }
-
- if let Some(after) = &after {
- let after =
- interim::parse_date_string(after.as_str(), Utc::now(), interim::Dialect::Uk);
-
- if after.is_err() || h.timestamp.lt(&after.unwrap()) {
- return false;
- }
- }
-
true
})
.map(std::borrow::ToOwned::to_owned)
diff --git a/src/command/client/search/interactive.rs b/src/command/client/search/interactive.rs
index 05ab03e4..4a29ee47 100644
--- a/src/command/client/search/interactive.rs
+++ b/src/command/client/search/interactive.rs
@@ -57,8 +57,16 @@ impl State {
db.list(self.filter_mode, &self.context, Some(200), true)
.await?
} else {
- db.search(Some(200), search_mode, self.filter_mode, &self.context, i)
- .await?
+ db.search(
+ search_mode,
+ self.filter_mode,
+ &self.context,
+ i,
+ Some(200),
+ None,
+ None,
+ )
+ .await?
};
self.results_state.select(0);