From 897334e11d88a6d09900fc80550f3d9e81108251 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Fri, 22 Jul 2022 17:58:20 +0000 Subject: [PATCH] Push WithoutDue() down into the search query --- rules/rules.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rules/rules.go b/rules/rules.go index e260ee1..d44cc3e 100644 --- a/rules/rules.go +++ b/rules/rules.go @@ -235,9 +235,15 @@ func (p *periodic) WithUnlinkedURL() *periodic { } func (p *periodic) WithoutDue() *periodic { - // We can't mutate the query because due_on=null is buggy in the Asana API - p.taskFilters = append(p.taskFilters, func(wc *client.WorkspaceClient, _ *client.SearchQuery, t *client.Task) (bool, error) { - return t.ParsedDueOn == nil, nil + p.queryMutators = append(p.queryMutators, func(wc *client.WorkspaceClient, q *client.SearchQuery) error { + if q.Due != nil { + return fmt.Errorf("Multiple clauses set Due") + } + + d := false + q.Due = &d + + return nil }) return p