ParseTaskListQuery parses the shared task-list query parameters.
(c *gin.Context)
| 251 | |
| 252 | // ParseTaskListQuery parses the shared task-list query parameters. |
| 253 | func ParseTaskListQuery(c *gin.Context) (contract.TaskListQuery, error) { |
| 254 | limit, err := ParseOptionalInt(c.Query("limit")) |
| 255 | if err != nil { |
| 256 | return contract.TaskListQuery{}, NewTaskValidationError(err) |
| 257 | } |
| 258 | includeDrafts, err := ParseOptionalBool(c.Query("include_drafts")) |
| 259 | if err != nil { |
| 260 | return contract.TaskListQuery{}, NewTaskValidationError(err) |
| 261 | } |
| 262 | |
| 263 | query := contract.TaskListQuery{ |
| 264 | Scope: taskpkg.Scope(strings.TrimSpace(c.Query("scope"))).Normalize(), |
| 265 | Workspace: strings.TrimSpace(c.Query("workspace")), |
| 266 | Status: taskpkg.Status(strings.TrimSpace(c.Query("status"))).Normalize(), |
| 267 | Priority: taskpkg.Priority(strings.TrimSpace(c.Query("priority"))).Normalize(), |
| 268 | IncludeDrafts: includeDrafts, |
| 269 | ApprovalState: taskpkg.ApprovalState(strings.TrimSpace(c.Query("approval_state"))).Normalize(), |
| 270 | OwnerKind: taskpkg.OwnerKind(strings.TrimSpace(c.Query("owner_kind"))).Normalize(), |
| 271 | OwnerRef: strings.TrimSpace(c.Query("owner_ref")), |
| 272 | ParentTaskID: strings.TrimSpace(c.Query("parent_task_id")), |
| 273 | NetworkChannel: strings.TrimSpace(c.Query("network_channel")), |
| 274 | Query: strings.TrimSpace(c.Query("query")), |
| 275 | Limit: limit, |
| 276 | } |
| 277 | if err := validateParsedTaskListQuery(query); err != nil { |
| 278 | return contract.TaskListQuery{}, err |
| 279 | } |
| 280 | return query, nil |
| 281 | } |
| 282 | |
| 283 | // ParseTaskRunListQuery parses the shared task-run list query parameters. |
| 284 | func ParseTaskRunListQuery(c *gin.Context) (contract.TaskRunListQuery, error) { |