Use serde-cs::CS with StarOr to reduce the logic duplication

This commit is contained in:
Kerollmops 2022-06-02 11:14:46 +02:00
parent 10d3b367dc
commit 64b5b2e1f8
No known key found for this signature in database
GPG key ID: 92ADA4E935E71FA4
3 changed files with 20 additions and 14 deletions

View file

@ -81,9 +81,9 @@ async fn get_tasks(
// We first transform a potential indexUid=* into a "not specified indexUid filter"
// for every one of the filters: type, status, and indexUid.
let type_ = type_.map(CS::into_inner).and_then(fold_star_or);
let status = status.map(CS::into_inner).and_then(fold_star_or);
let index_uid = index_uid.map(CS::into_inner).and_then(fold_star_or);
let type_: Option<Vec<_>> = type_.map(CS::into_inner).and_then(fold_star_or);
let status: Option<Vec<_>> = status.map(CS::into_inner).and_then(fold_star_or);
let index_uid: Option<Vec<_>> = index_uid.map(CS::into_inner).and_then(fold_star_or);
// Then we filter on potential indexes and make sure that the search filter
// restrictions are also applied.