fix: close workspace terminals before deletion

This commit is contained in:
Federico Jaramillo Martinez
2026-06-04 21:31:39 +02:00
parent 30fb9602d6
commit 9c3dafc4d4
17 changed files with 415 additions and 38 deletions
+2
View File
@@ -11,6 +11,7 @@ export const FEDERATED_HTTP_ROUTES = [
{ method: "DELETE", path: "/projects/:projectId" },
{ method: "GET", path: "/project-directories" },
{ method: "GET", path: "/projects/:projectId/workspaces" },
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId" },
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/tree" },
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/file" },
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/file/preview" },
@@ -18,6 +19,7 @@ export const FEDERATED_HTTP_ROUTES = [
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/git/diff" },
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminals/:terminalId/continue" },
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/terminals/:terminalId" },
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminal-command-runs" },
+17
View File
@@ -0,0 +1,17 @@
export const workspaceDeleteOperation = "workspace.delete";
export const workspaceDeleteOperationMetadataKey = "pi.operation";
export const targetWorkspaceIdMetadataKey = "target.workspaceId";
export const targetWorkspacePathMetadataKey = "target.workspacePath";
export interface WorkspaceDeletionTarget {
id: string;
path: string;
}
export function workspaceDeletionMetadata(workspace: WorkspaceDeletionTarget): Record<string, string> {
return {
[workspaceDeleteOperationMetadataKey]: workspaceDeleteOperation,
[targetWorkspaceIdMetadataKey]: workspace.id,
[targetWorkspacePathMetadataKey]: workspace.path,
};
}