| 187 | } |
| 188 | |
| 189 | func (c *Client) WorkspaceBuilds(ctx context.Context, req WorkspaceBuildsRequest) ([]WorkspaceBuild, error) { |
| 190 | res, err := c.Request( |
| 191 | ctx, http.MethodGet, |
| 192 | fmt.Sprintf("/api/v2/workspaces/%s/builds", req.WorkspaceID), |
| 193 | nil, req.Pagination.asRequestOption(), WithQueryParam("since", req.Since.Format(time.RFC3339)), |
| 194 | ) |
| 195 | if err != nil { |
| 196 | return nil, err |
| 197 | } |
| 198 | defer res.Body.Close() |
| 199 | if res.StatusCode != http.StatusOK { |
| 200 | return nil, ReadBodyAsError(res) |
| 201 | } |
| 202 | var workspaceBuild []WorkspaceBuild |
| 203 | return workspaceBuild, json.NewDecoder(res.Body).Decode(&workspaceBuild) |
| 204 | } |
| 205 | |
| 206 | // CreateWorkspaceBuild queues a new build to occur for a workspace. |
| 207 | func (c *Client) CreateWorkspaceBuild(ctx context.Context, workspace uuid.UUID, request CreateWorkspaceBuildRequest) (WorkspaceBuild, error) { |