99
1010from praisonaiagents .auth import AuthIdentity
1111
12- from ..deps import ensure_resource_in_workspace , get_db , require_workspace_member
12+ from ..deps import get_db , require_workspace_member
1313from ..schemas import ProjectCreate , ProjectResponse , ProjectUpdate
1414from ...services .project_service import ProjectService
1515
@@ -56,10 +56,9 @@ async def get_project(
5656 session : AsyncSession = Depends (get_db ),
5757):
5858 svc = ProjectService (session )
59- project = await svc .get (project_id )
59+ project = await svc .get (project_id , workspace_id = workspace_id )
6060 if project is None :
6161 raise HTTPException (status_code = 404 , detail = "Project not found" )
62- ensure_resource_in_workspace (project .workspace_id , workspace_id , label = "Project" )
6362 return ProjectResponse .model_validate (project )
6463
6564
@@ -74,6 +73,7 @@ async def update_project(
7473 svc = ProjectService (session )
7574 project = await svc .update (
7675 project_id ,
76+ workspace_id = workspace_id ,
7777 title = body .title ,
7878 description = body .description ,
7979 status = body .status ,
@@ -82,7 +82,6 @@ async def update_project(
8282 )
8383 if project is None :
8484 raise HTTPException (status_code = 404 , detail = "Project not found" )
85- ensure_resource_in_workspace (project .workspace_id , workspace_id , label = "Project" )
8685 return ProjectResponse .model_validate (project )
8786
8887
@@ -94,11 +93,7 @@ async def delete_project(
9493 session : AsyncSession = Depends (get_db ),
9594):
9695 svc = ProjectService (session )
97- project = await svc .get (project_id )
98- if project is None :
99- raise HTTPException (status_code = 404 , detail = "Project not found" )
100- ensure_resource_in_workspace (project .workspace_id , workspace_id , label = "Project" )
101- deleted = await svc .delete (project_id )
96+ deleted = await svc .delete (project_id , workspace_id = workspace_id )
10297 if not deleted :
10398 raise HTTPException (status_code = 404 , detail = "Project not found" )
10499
@@ -111,8 +106,7 @@ async def project_stats(
111106 session : AsyncSession = Depends (get_db ),
112107):
113108 svc = ProjectService (session )
114- project = await svc .get (project_id )
109+ project = await svc .get (project_id , workspace_id = workspace_id )
115110 if project is None :
116111 raise HTTPException (status_code = 404 , detail = "Project not found" )
117- ensure_resource_in_workspace (project .workspace_id , workspace_id , label = "Project" )
118112 return await svc .get_stats (project_id )
0 commit comments