MCPcopy Create free account
hub / github.com/compozy/agh / DeleteWorkspace

Method DeleteWorkspace

internal/api/core/workspaces.go:221–245  ·  view source on GitHub ↗

DeleteWorkspace unregisters a workspace.

(c *gin.Context)

Source from the content-addressed store, hash-verified

219
220// DeleteWorkspace unregisters a workspace.
221func (h *BaseHandlers) DeleteWorkspace(c *gin.Context) {
222 workspace, err := h.Workspaces.Get(c.Request.Context(), workspaceRefFromRoute(c))
223 if err != nil {
224 h.respondError(c, StatusForWorkspaceError(err), err)
225 return
226 }
227
228 stoppedSessionIDs, err := h.stoppedWorkspaceSessionIDs(c.Request.Context(), workspace.ID)
229 if err != nil {
230 h.respondError(c, StatusForWorkspaceError(err), err)
231 return
232 }
233
234 if err := h.Workspaces.Unregister(c.Request.Context(), workspace.ID); err != nil {
235 h.respondError(c, StatusForWorkspaceError(err), err)
236 return
237 }
238
239 if err := h.deleteStoppedWorkspaceSessions(c.Request.Context(), workspace.ID, stoppedSessionIDs); err != nil {
240 h.respondError(c, StatusForWorkspaceError(err), err)
241 return
242 }
243
244 c.Status(http.StatusNoContent)
245}
246
247func (h *BaseHandlers) stoppedWorkspaceSessionIDs(ctx context.Context, workspaceID string) ([]string, error) {
248 if h.Sessions == nil {

Callers

nothing calls this directly

Calls 8

respondErrorMethod · 0.95
workspaceRefFromRouteFunction · 0.85
StatusForWorkspaceErrorFunction · 0.85
GetMethod · 0.65
UnregisterMethod · 0.65
StatusMethod · 0.65

Tested by

no test coverage detected