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

Method taskInboxQueryFromParams

internal/extension/host_api_tasks.go:623–662  ·  view source on GitHub ↗
(
	ctx context.Context,
	params apicontract.TaskInboxQuery,
)

Source from the content-addressed store, hash-verified

621}
622
623func (h *HostAPIHandler) taskInboxQueryFromParams(
624 ctx context.Context,
625 params apicontract.TaskInboxQuery,
626) (observepkg.TaskInboxQuery, error) {
627 query := observepkg.TaskInboxQuery{
628 Scope: params.Scope.Normalize(),
629 OwnerKind: params.OwnerKind.Normalize(),
630 OwnerRef: strings.TrimSpace(params.OwnerRef),
631 Lane: observepkg.TaskInboxLane(params.Lane).Normalize(),
632 Unread: params.Unread,
633 Search: strings.TrimSpace(params.Query),
634 Limit: params.Limit,
635 }
636 if query.Scope.Normalize() != "" {
637 if err := query.Scope.Validate("task_inbox_query.scope"); err != nil {
638 return observepkg.TaskInboxQuery{}, invalidParamsRPCError(err)
639 }
640 }
641 if workspaceRef := strings.TrimSpace(params.Workspace); workspaceRef != "" {
642 if query.Scope.Normalize() == taskpkg.ScopeGlobal {
643 if err := taskpkg.ValidateScopeBinding(
644 query.Scope,
645 workspaceRef,
646 "task_inbox_query",
647 "workspace",
648 ); err != nil {
649 return observepkg.TaskInboxQuery{}, invalidParamsRPCError(err)
650 }
651 }
652 workspaceID, err := h.resolveTaskWorkspaceID(ctx, workspaceRef)
653 if err != nil {
654 return observepkg.TaskInboxQuery{}, err
655 }
656 query.WorkspaceID = workspaceID
657 }
658 if err := query.Validate(); err != nil {
659 return observepkg.TaskInboxQuery{}, invalidParamsRPCError(err)
660 }
661 return query, nil
662}
663
664func (h *HostAPIHandler) createTaskSpecFromRequest(
665 ctx context.Context,

Callers 1

handleTasksInboxMethod · 0.95

Calls 5

ValidateMethod · 0.95
invalidParamsRPCErrorFunction · 0.85
ValidateMethod · 0.65
NormalizeMethod · 0.45

Tested by

no test coverage detected