Rename and change query filters

This commit is contained in:
Alex Auvolat 2022-01-03 18:03:12 +01:00
parent de37658b94
commit ba7f268b99
No known key found for this signature in database
GPG key ID: EDABF9711E244EB1
3 changed files with 8 additions and 8 deletions

View file

@ -116,12 +116,11 @@ impl<'a> BucketHelper<'a> {
.get_range(
&EmptyKey,
None,
Some(KeyFilter::Matches(pattern.to_string())),
Some(KeyFilter::MatchesAndNotDeleted(pattern.to_string())),
10,
)
.await?
.into_iter()
.filter(|k| !k.state.is_deleted())
.collect::<Vec<_>>();
if candidates.len() != 1 {
Err(Error::BadRequest(format!(

View file

@ -152,7 +152,7 @@ pub struct KeyTable;
#[derive(Clone, Debug, Serialize, Deserialize)]
pub enum KeyFilter {
Deleted(DeletedFilter),
Matches(String),
MatchesAndNotDeleted(String),
}
impl TableSchema for KeyTable {
@ -166,10 +166,11 @@ impl TableSchema for KeyTable {
fn matches_filter(entry: &Self::E, filter: &Self::Filter) -> bool {
match filter {
KeyFilter::Deleted(df) => df.apply(entry.state.is_deleted()),
KeyFilter::Matches(pat) => {
KeyFilter::MatchesAndNotDeleted(pat) => {
let pat = pat.to_lowercase();
entry.key_id.to_lowercase().starts_with(&pat)
|| entry.name.get().to_lowercase() == pat
!entry.state.is_deleted()
&& (entry.key_id.to_lowercase().starts_with(&pat)
|| entry.name.get().to_lowercase() == pat)
}
}
}

View file

@ -19,7 +19,7 @@ impl PartitionKey for EmptyKey {
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
pub enum DeletedFilter {
All,
Any,
Deleted,
NotDeleted,
}
@ -27,7 +27,7 @@ pub enum DeletedFilter {
impl DeletedFilter {
pub fn apply(&self, deleted: bool) -> bool {
match self {
DeletedFilter::All => true,
DeletedFilter::Any => true,
DeletedFilter::Deleted => deleted,
DeletedFilter::NotDeleted => !deleted,
}