@Summary Get workspace timings by ID @ID get-workspace-timings-by-id @Security CoderSessionToken @Produce json @Tags Workspaces @Param workspace path string true "Workspace ID" format(uuid) @Success 200 {object} codersdk.WorkspaceBuildTimings @Router /api/v2/workspaces/{workspace}/timings [get]
(rw http.ResponseWriter, r *http.Request)
| 2324 | // @Success 200 {object} codersdk.WorkspaceBuildTimings |
| 2325 | // @Router /api/v2/workspaces/{workspace}/timings [get] |
| 2326 | func (api *API) workspaceTimings(rw http.ResponseWriter, r *http.Request) { |
| 2327 | var ( |
| 2328 | ctx = r.Context() |
| 2329 | workspace = httpmw.WorkspaceParam(r) |
| 2330 | ) |
| 2331 | |
| 2332 | build, err := api.Database.GetLatestWorkspaceBuildByWorkspaceID(ctx, workspace.ID) |
| 2333 | if err != nil { |
| 2334 | httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{ |
| 2335 | Message: "Internal error fetching workspace build.", |
| 2336 | Detail: err.Error(), |
| 2337 | }) |
| 2338 | return |
| 2339 | } |
| 2340 | |
| 2341 | timings, err := api.buildTimings(ctx, build) |
| 2342 | if err != nil { |
| 2343 | httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{ |
| 2344 | Message: "Internal error fetching timings.", |
| 2345 | Detail: err.Error(), |
| 2346 | }) |
| 2347 | return |
| 2348 | } |
| 2349 | |
| 2350 | httpapi.Write(ctx, rw, http.StatusOK, timings) |
| 2351 | } |
| 2352 | |
| 2353 | // @Summary Get workspace ACLs |
| 2354 | // @ID get-workspace-acls |
nothing calls this directly
no test coverage detected