(ctx context.Context, deps Deps, query string)
| 68 | } |
| 69 | |
| 70 | func searchWorkspaces(ctx context.Context, deps Deps, query string) ([]SearchResultItem, error) { |
| 71 | serverURL := deps.ServerURL() |
| 72 | workspaces, err := deps.coderClient.Workspaces(ctx, codersdk.WorkspaceFilter{ |
| 73 | FilterQuery: query, |
| 74 | }) |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | results := make([]SearchResultItem, len(workspaces.Workspaces)) |
| 79 | for i, workspace := range workspaces.Workspaces { |
| 80 | results[i] = SearchResultItem{ |
| 81 | ID: createObjectID(ObjectTypeWorkspace, workspace.ID.String()).String(), |
| 82 | Title: workspace.Name, |
| 83 | Text: fmt.Sprintf("Owner: %s\nTemplate: %s\nLatest transition: %s", workspace.OwnerName, workspace.TemplateDisplayName, workspace.LatestBuild.Transition), |
| 84 | URL: fmt.Sprintf("%s/%s/%s", serverURL, workspace.OwnerName, workspace.Name), |
| 85 | } |
| 86 | } |
| 87 | return results, nil |
| 88 | } |
| 89 | |
| 90 | type SearchQueryType string |
| 91 |
no test coverage detected