Skip to content

Commit f00e467

Browse files
Fix project deletion permissions: allow project owners to delete their projects
1 parent 73246c1 commit f00e467

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/dstack/_internal/server/services/projects.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff 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:

0 commit comments

Comments
 (0)