Skip to content

Commit

Permalink
fix(sentry-FLAGSMITH-API-4BN): update permission method (#3851)
Browse files Browse the repository at this point in the history
  • Loading branch information
gagantrivedi committed Apr 30, 2024
1 parent 73d1f91 commit b4e058a
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 94 deletions.
8 changes: 6 additions & 2 deletions api/api_keys/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,12 @@ def get_permitted_projects(
)

def get_permitted_environments(
self, permission_key: str, project: "Project", tag_ids: typing.List[int] = None
self,
permission_key: str,
project: "Project",
tag_ids: typing.List[int] = None,
prefetch_metadata: bool = False,
) -> QuerySet["Environment"]:
return get_permitted_environments_for_master_api_key(
self.key, project, permission_key, tag_ids
self.key, project, permission_key, tag_ids, prefetch_metadata
)
14 changes: 10 additions & 4 deletions api/permissions/permission_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,13 +151,19 @@ def get_permitted_environments_for_master_api_key(
project: Project,
permission_key: str,
tag_ids: List[int] = None,
prefetch_metadata: bool = False,
) -> QuerySet[Environment]:
if is_master_api_key_project_admin(master_api_key, project):
return project.environments.all()
queryset = project.environments.all()
else:
queryset = get_permitted_environments_for_master_api_key_using_roles(
master_api_key, project, permission_key, tag_ids
)

return get_permitted_environments_for_master_api_key_using_roles(
master_api_key, project, permission_key, tag_ids
)
if prefetch_metadata:
queryset = queryset.prefetch_related("metadata")

return queryset


def user_has_organisation_permission(
Expand Down

0 comments on commit b4e058a

Please sign in to comment.