( ctx context.Context, params apicontract.TaskInboxQuery, )
| 621 | } |
| 622 | |
| 623 | func (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 | |
| 664 | func (h *HostAPIHandler) createTaskSpecFromRequest( |
| 665 | ctx context.Context, |
no test coverage detected