MCPcopy Index your code
hub / github.com/coder/coder / deleteFavoriteWorkspace

Method deleteFavoriteWorkspace

coderd/workspaces.go:1885–1923  ·  view source on GitHub ↗

@Summary Unfavorite workspace by ID. @ID unfavorite-workspace-by-id @Security CoderSessionToken @Tags Workspaces @Param workspace path string true "Workspace ID" format(uuid) @Success 204 @Router /api/v2/workspaces/{workspace}/favorite [delete]

(rw http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

1883// @Success 204
1884// @Router /api/v2/workspaces/{workspace}/favorite [delete]
1885func (api *API) deleteFavoriteWorkspace(rw http.ResponseWriter, r *http.Request) {
1886 var (
1887 ctx = r.Context()
1888 workspace = httpmw.WorkspaceParam(r)
1889 apiKey = httpmw.APIKey(r)
1890 auditor = api.Auditor.Load()
1891 )
1892
1893 if apiKey.UserID != workspace.OwnerID {
1894 httpapi.Write(ctx, rw, http.StatusForbidden, codersdk.Response{
1895 Message: "You can only un-favorite workspaces that you own.",
1896 })
1897 return
1898 }
1899
1900 aReq, commitAudit := audit.InitRequest[database.WorkspaceTable](rw, &audit.RequestParams{
1901 Audit: *auditor,
1902 Log: api.Logger,
1903 Request: r,
1904 Action: database.AuditActionWrite,
1905 OrganizationID: workspace.OrganizationID,
1906 })
1907
1908 defer commitAudit()
1909 aReq.Old = workspace.WorkspaceTable()
1910
1911 err := api.Database.UnfavoriteWorkspace(ctx, workspace.ID)
1912 if err != nil {
1913 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1914 Message: "Internal error unsetting workspace as favorite",
1915 Detail: err.Error(),
1916 })
1917 return
1918 }
1919 aReq.New = workspace.WorkspaceTable()
1920 aReq.New.Favorite = false
1921
1922 rw.WriteHeader(http.StatusNoContent)
1923}
1924
1925// @Summary Update workspace automatic updates by ID
1926// @ID update-workspace-automatic-updates-by-id

Callers 2

useBatchActionsFunction · 0.80
toggleFavoriteFunction · 0.80

Calls 10

WorkspaceParamFunction · 0.92
APIKeyFunction · 0.92
WriteFunction · 0.92
InitRequestFunction · 0.92
WorkspaceTableMethod · 0.80
ContextMethod · 0.65
UnfavoriteWorkspaceMethod · 0.65
LoadMethod · 0.45
ErrorMethod · 0.45
WriteHeaderMethod · 0.45

Tested by

no test coverage detected