diff --git a/src/codegate/api/v1.py b/src/codegate/api/v1.py index 363e2f47..1e893dd7 100644 --- a/src/codegate/api/v1.py +++ b/src/codegate/api/v1.py @@ -86,6 +86,8 @@ async def delete_workspace(workspace_name: str): _ = await wscrud.soft_delete_workspace(workspace_name) except crud.WorkspaceDoesNotExistError: raise HTTPException(status_code=404, detail="Workspace does not exist") + except crud.WorkspaceCrudError as e: + raise HTTPException(status_code=400, detail=str(e)) except Exception: raise HTTPException(status_code=500, detail="Internal server error") diff --git a/src/codegate/pipeline/cli/commands.py b/src/codegate/pipeline/cli/commands.py index 233188ba..aa4449b4 100644 --- a/src/codegate/pipeline/cli/commands.py +++ b/src/codegate/pipeline/cli/commands.py @@ -227,6 +227,8 @@ async def _remove_workspace(self, flags: Dict[str, str], args: List[str]) -> str await self.workspace_crud.soft_delete_workspace(workspace_name) except crud.WorkspaceDoesNotExistError: return f"Workspace **{workspace_name}** does not exist" + except crud.WorkspaceCrudError as e: + return str(e) except Exception: return "An error occurred while removing the workspace" return f"Workspace **{workspace_name}** has been removed"