File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed
src/dstack/_internal/server/services Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -176,7 +176,9 @@ async def delete_projects(
176176 for project_name in projects_names :
177177 if project_name not in user_project_names :
178178 raise ForbiddenError ()
179- for project in user_projects :
179+ # Only check admin permissions for projects being deleted
180+ projects_to_delete = [p for p in user_projects if p .name in projects_names ]
181+ for project in projects_to_delete :
180182 if not _is_project_admin (user = user , project = project ):
181183 raise ForbiddenError ()
182184 if all (name in projects_names for name in user_project_names ):
@@ -613,6 +615,11 @@ def _is_project_admin(
613615 user : UserModel ,
614616 project : ProjectModel ,
615617) -> bool :
618+ # Check if user is the project owner
619+ if user .id == project .owner_id :
620+ return True
621+
622+ # Check if user has admin role in project members
616623 for m in project .members :
617624 if user .id == m .user_id :
618625 if m .project_role == ProjectRole .ADMIN :
You can’t perform that action at this time.
0 commit comments