MCPcopy Create free account
hub / github.com/compozy/agh / ParseTaskInboxQuery

Function ParseTaskInboxQuery

internal/api/core/parsers.go:341–365  ·  view source on GitHub ↗

ParseTaskInboxQuery parses the shared task inbox query parameters.

(c *gin.Context)

Source from the content-addressed store, hash-verified

339
340// ParseTaskInboxQuery parses the shared task inbox query parameters.
341func ParseTaskInboxQuery(c *gin.Context) (contract.TaskInboxQuery, error) {
342 unread, err := ParseOptionalBool(c.Query("unread"))
343 if err != nil {
344 return contract.TaskInboxQuery{}, NewTaskValidationError(err)
345 }
346 limit, err := ParseOptionalInt(c.Query("limit"))
347 if err != nil {
348 return contract.TaskInboxQuery{}, NewTaskValidationError(err)
349 }
350
351 query := contract.TaskInboxQuery{
352 Scope: taskpkg.Scope(strings.TrimSpace(c.Query("scope"))).Normalize(),
353 Workspace: strings.TrimSpace(c.Query("workspace")),
354 OwnerKind: taskpkg.OwnerKind(strings.TrimSpace(c.Query("owner_kind"))).Normalize(),
355 OwnerRef: strings.TrimSpace(c.Query("owner_ref")),
356 Lane: contract.TaskInboxLane(strings.TrimSpace(strings.ToLower(c.Query("lane")))),
357 Unread: unread,
358 Query: strings.TrimSpace(c.Query("query")),
359 Limit: limit,
360 }
361 if err := validateParsedTaskInboxQuery(query); err != nil {
362 return contract.TaskInboxQuery{}, err
363 }
364 return query, nil
365}
366
367func validateParsedTaskListQuery(query contract.TaskListQuery) error {
368 if err := validateOptionalTaskScope(query.Scope, "task_query.scope"); err != nil {

Calls 8

TaskInboxLaneTypeAlias · 0.92
ParseOptionalBoolFunction · 0.85
NewTaskValidationErrorFunction · 0.85
ParseOptionalIntFunction · 0.85
ScopeMethod · 0.80
QueryMethod · 0.65
NormalizeMethod · 0.45