fix(filter): make sure single filter condition works

This commit is contained in:
kolaente 2023-11-21 18:22:56 +01:00
parent de320aac72
commit c1e137d8ee
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 11 additions and 7 deletions

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])
}
}
}
}