fix set_default_project in cloud mode

Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
phernandez
2025-12-30 20:57:45 -06:00
parent 8adf1f4ed4
commit eb7fbaf0bf
@@ -204,7 +204,7 @@ async def update_project_by_id(
return ProjectStatusResponse(
message=f"Project '{updated_project.name}' updated successfully",
status="success",
default=(old_project.name == project_service.default_project),
default=old_project.is_default or False,
old_project=old_project_info,
new_project=ProjectItem(
id=updated_project.id,
@@ -251,7 +251,8 @@ async def delete_project_by_id(
raise HTTPException(status_code=404, detail=f"Project with ID {project_id} not found")
# Check if trying to delete the default project
if old_project.name == project_service.default_project:
# Use is_default from database, not ConfigManager (which doesn't work in cloud mode)
if old_project.is_default:
available_projects = await project_service.list_projects()
other_projects = [p.name for p in available_projects if p.id != project_id]
detail = f"Cannot delete default project '{old_project.name}'. "
@@ -305,12 +306,11 @@ async def set_default_project_by_id(
logger.info(f"API v2 request: set_default_project_by_id for project_id={project_id}")
try:
# Get the old default project
default_name = project_service.default_project
default_project = await project_service.get_project(default_name)
# Get the old default project from database
default_project = await project_repository.get_default_project()
if not default_project:
raise HTTPException(
status_code=404, detail=f"Default Project: '{default_name}' does not exist"
status_code=404, detail="No default project is currently set"
)
# Get the new default project
@@ -327,7 +327,7 @@ async def set_default_project_by_id(
default=True,
old_project=ProjectItem(
id=default_project.id,
name=default_name,
name=default_project.name,
path=default_project.path,
is_default=False,
),