GetTasksRequestDto
Filters for GET Api/Tasks, GET Api/Tasks/Assigned and GET Api/Tasks/Owner. Every field except pagination is optional — an absent field means the condition is not applied.
In each facet available is the universe the counts are computed over and selected is the choice; an absent or empty selected means every value. A facet left out entirely yields no counts for it. A page of rows always comes back — to show nothing until the user picks a status, decide that in the UI.
The facet counts describe the slice left by the other filters, so narrowing by name or by a date range also moves the numbers in the status, type, area and priority chips.
On /Assigned and /Owner the server scopes the result to the caller and ignores assignedUserId and ownerUserId respectively, along with externalId, externalType and emailId.
Backend-источник: features.taskservice/Nuget.TaskApiClient/Dto/Requests/GetTasksRequestDto.cs (features.taskservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
pagination | Pagination | да | — | Pagination |
statusTypeFilter | PaginationFilter<StatusTypeDto> | нет | — | PaginationFilter<StatusTypeDto> |
taskTypeFilter | PaginationFilter<TaskTypeDto> | нет | — | PaginationFilter<TaskTypeDto> |
taskAreaTypeFilter | PaginationFilter<TaskAreaTypeDto> | нет | — | PaginationFilter<TaskAreaTypeDto> |
priorityFilter | PaginationFilter<PriorityTypeDto> | null | нет | Fourth facet, alongside status, type and area. Omit it to get neither priority counts nor priority filtering. PriorityTypeDto.None is a stored value, but the facet counts use 0 as the "all" bucket, so tasks with no priority are counted by no chip. Selecting None still filters them. | — |
assignedUserId | number | null | нет | — | int? |
ownerUserId | number | null | нет | — | — |
externalId | number | null | нет | — | int? |
externalType | ExternalTypeDto | null | нет | — | ExternalTypeDto? |
emailId | number | null | нет | — | — |
searchInput | string | null | нет | Full-text search over the task name with a trigram fallback. Independent of name — passing both narrows by both. | — |
name | string | нет | Substring match on the task name. | — |
externalTypes | ExternalTypeDto[] | нет | Multi-select form of externalType. Applies on its own, without externalId. | — |
createdAt | PaginationRangeFilter<string> | нет | ISO 8601 range over the creation timestamp. | — |
updatedAt | PaginationRangeFilter<string> | нет | ISO 8601 range over the last-update timestamp. Tasks never updated are excluded. | — |
deadlineDateStart | PaginationRangeFilter<string> | нет | ISO 8601 range over the planned start of the deadline window. | — |
deadlineDateFinish | PaginationRangeFilter<string> | нет | ISO 8601 range over the planned end of the deadline window. Overdue tasks are this with to set to now, plus a statusTypeFilter.selected that leaves out Done and Closed. | — |
dateStart | PaginationRangeFilter<string> | нет | ISO 8601 range over the actual start. | — |
dateFinish | PaginationRangeFilter<string> | нет | ISO 8601 range over the actual finish. | — |
estimation | PaginationRangeFilter<string> | нет | Range over the estimate, as hh:mm:ss ("01:30:00" is an hour and a half). | — |
parentTaskId | number | null | нет | Exact match on the parent task, for listing subtasks of one task. | — |
chatId | number | null | нет | Exact match on the linked chat. | — |
id | number | null | нет | Exact match on the task id — the number the task list shows in its first column. | — |
workResult | string | нет | Substring match on the work result text. | — |
Пример
{
"pagination": "<Pagination>",
"statusTypeFilter": "<PaginationFilter<StatusTypeDto>>",
"taskTypeFilter": "<PaginationFilter<TaskTypeDto>>",
"taskAreaTypeFilter": "<PaginationFilter<TaskAreaTypeDto>>",
"priorityFilter": "<paginationfilter<prioritytypedto>>",
"assignedUserId": 0,
"ownerUserId": 0,
"externalId": 0,
"externalType": "<externaltypedto>",
"emailId": 0,
"searchInput": "string",
"name": "string",
"externalTypes": [],
"createdAt": "<PaginationRangeFilter<string>>",
"updatedAt": "<PaginationRangeFilter<string>>",
"deadlineDateStart": "<PaginationRangeFilter<string>>",
"deadlineDateFinish": "<PaginationRangeFilter<string>>",
"dateStart": "<PaginationRangeFilter<string>>",
"dateFinish": "<PaginationRangeFilter<string>>",
"estimation": "<PaginationRangeFilter<string>>",
"parentTaskId": 0,
"chatId": 0,
"id": 0,
"workResult": "string"
}