@Summary Get workspace build timings by ID @ID get-workspace-build-timings-by-id @Security CoderSessionToken @Produce json @Tags Builds @Param workspacebuild path string true "Workspace build ID" format(uuid) @Success 200 {object} codersdk.WorkspaceBuildTimings @Router /api/v2/workspacebuilds/{works
(rw http.ResponseWriter, r *http.Request)
| 957 | // @Success 200 {object} codersdk.WorkspaceBuildTimings |
| 958 | // @Router /api/v2/workspacebuilds/{workspacebuild}/timings [get] |
| 959 | func (api *API) workspaceBuildTimings(rw http.ResponseWriter, r *http.Request) { |
| 960 | var ( |
| 961 | ctx = r.Context() |
| 962 | build = httpmw.WorkspaceBuildParam(r) |
| 963 | ) |
| 964 | |
| 965 | timings, err := api.buildTimings(ctx, build) |
| 966 | if err != nil { |
| 967 | httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{ |
| 968 | Message: "Internal error fetching timings.", |
| 969 | Detail: err.Error(), |
| 970 | }) |
| 971 | return |
| 972 | } |
| 973 | |
| 974 | httpapi.Write(ctx, rw, http.StatusOK, timings) |
| 975 | } |
| 976 | |
| 977 | type workspaceBuildsData struct { |
| 978 | jobs []database.GetProvisionerJobsByIDsWithQueuePositionRow |
no test coverage detected