From c5ecaceae1ab50a1c337f5cab9e97c0b061cb2d5 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sun, 4 Jun 2023 21:05:33 +0300 Subject: [PATCH] melib/search: fix some search criteria in Query type --- melib/src/backends/jmap/objects/email.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/melib/src/backends/jmap/objects/email.rs b/melib/src/backends/jmap/objects/email.rs index 64e050a4..e5f78985 100644 --- a/melib/src/backends/jmap/objects/email.rs +++ b/melib/src/backends/jmap/objects/email.rs @@ -589,7 +589,7 @@ impl From for Filter { let mut ret = Filter::Condition(EmailFilterCondition::new().into()); fn rec(q: &crate::search::Query, f: &mut Filter) { use crate::{ - datetime::{timestamp_to_string, RFC3339_FMT}, + datetime::{formats::RFC3339_DATE, timestamp_to_string}, search::Query::*, }; match q { @@ -617,26 +617,26 @@ impl From for Filter { Before(t) => { *f = Filter::Condition( EmailFilterCondition::new() - .before(timestamp_to_string(*t, Some(RFC3339_FMT), true)) + .before(timestamp_to_string(*t, Some(RFC3339_DATE), true)) .into(), ); } After(t) => { *f = Filter::Condition( EmailFilterCondition::new() - .after(timestamp_to_string(*t, Some(RFC3339_FMT), true)) + .after(timestamp_to_string(*t, Some(RFC3339_DATE), true)) .into(), ); } Between(a, b) => { *f = Filter::Condition( EmailFilterCondition::new() - .after(timestamp_to_string(*a, Some(RFC3339_FMT), true)) + .after(timestamp_to_string(*a, Some(RFC3339_DATE), true)) .into(), ); *f &= Filter::Condition( EmailFilterCondition::new() - .before(timestamp_to_string(*b, Some(RFC3339_FMT), true)) + .before(timestamp_to_string(*b, Some(RFC3339_DATE), true)) .into(), ); } @@ -738,6 +738,18 @@ impl From for Filter { rec(q, &mut qhs); *f = !qhs; } + Answered => { + // TODO + } + AnsweredBy { .. } => { + // TODO + } + Larger { .. } => { + // TODO + } + Smaller { .. } => { + // TODO + } } } rec(&val, &mut ret);