feat(filters): query-based filter logic #2177

Merged
konrad merged 62 commits from feature/better-filter-syntax-layered into main 2024-03-10 12:01:48 +00:00
1 changed files with 11 additions and 7 deletions
Showing only changes of commit c1e137d8ee - Show all commits

View File

@ -210,13 +210,17 @@ func (d *dbTaskSearcher) Search(opts *taskSearchOptions) (tasks []*Task, totalCo
var filterCond builder.Cond
if len(filters) > 0 {
for i, f := range filters {
if len(filters) > i+1 {
switch opts.filters[i].join {
case filterConcatOr:
filterCond = builder.Or(filterCond, f, filters[i+1])
case filterConcatAnd:
filterCond = builder.And(filterCond, f, filters[i+1])
if len(filters) == 1 {
filterCond = filters[0]
} else {
for i, f := range filters {
if len(filters) > i+1 {
switch opts.filters[i+1].join {
case filterConcatOr:
filterCond = builder.Or(filterCond, f, filters[i+1])
case filterConcatAnd:
filterCond = builder.And(filterCond, f, filters[i+1])
}
}
}
}