pub struct TaskRequest {
pub sources: Vec<SourceName>,
pub filters: Filters,
pub project: ProjectSelector,
pub priorities: Vec<Priority>,
pub commented_since: Option<DateTime<Utc>>,
pub metadata: Vec<MetadataMatch>,
pub origin: Option<GlobalId>,
pub include_members: bool,
pub paging: Paging,
}Expand description
A request for a page of tasks.
Fields§
§sources: Vec<SourceName>Which sources to address. Empty means the configuration’s own selection.
filters: FiltersWhat to keep.
project: ProjectSelectorWhich project the tasks belong to.
priorities: Vec<Priority>Priorities to keep: a task matches when its priority is any one of these. Empty means unfiltered.
Here rather than in Filters, because a project has no priority: the filters a
project list shares with a task list are the ones both kinds of item carry.
commented_since: Option<DateTime<Utc>>Comment activity to keep: a task matches when one of its comments was created, or last
edited, at or after this instant. None means unfiltered.
Here rather than in Filters for the reason priorities is: a
project has no comments. A source that does not apply it natively is narrowed by a read
of its comments for every task its other predicates kept.
metadata: Vec<MetadataMatch>Caller-defined metadata values to keep: a task matches when it holds every one. Empty means unfiltered.
Here rather than in Filters for the reason priorities is:
the predicate is a task query’s alone.
origin: Option<GlobalId>The copy origin to keep: a task matches when it was copied from this item. None
means unfiltered.
include_members: boolWith a ProjectSelector::Qualified project, whether the tasks of every member
project that project names at onetaskgraph.members are read beside its own, each
under its own source. Ignored for any other selector.
The members are learned by reading the home on every request — never kept — so a member added between two pages is a different query, and its token is refused.
paging: PagingWhich page.