Skip to content

Commit d913c80

Browse files
committed
add feature check to get_attrs
1 parent d412513 commit d913c80

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/sentry/api/serializers/models/organization.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -586,16 +586,23 @@ def get_attrs(
586586
)
587587
}
588588

589+
# Only process replay access data if replay_permissions is enabled for at least one org
590+
enabled_org_ids = [org_id for org_id, enabled in replay_permissions.items() if enabled]
589591
replay_access_by_org: dict[int, list[int]] = {}
590-
for org_id, user_id in OrganizationMemberReplayAccess.objects.filter(
591-
organizationmember__organization__in=item_list
592-
).values_list("organizationmember__organization_id", "organizationmember__user_id"):
593-
if user_id is not None:
594-
replay_access_by_org.setdefault(org_id, []).append(user_id)
592+
if enabled_org_ids:
593+
for org_id, user_id in OrganizationMemberReplayAccess.objects.filter(
594+
organizationmember__organization__in=enabled_org_ids
595+
).values_list("organizationmember__organization_id", "organizationmember__user_id"):
596+
if user_id is not None:
597+
replay_access_by_org.setdefault(org_id, []).append(user_id)
595598

596599
for item in item_list:
597600
attrs[item]["replay_permissions_enabled"] = replay_permissions.get(item.id, False)
598-
attrs[item]["replay_access_members"] = replay_access_by_org.get(item.id, [])
601+
attrs[item]["replay_access_members"] = (
602+
replay_access_by_org.get(item.id, [])
603+
if replay_permissions.get(item.id, False)
604+
else []
605+
)
599606

600607
return attrs
601608

0 commit comments

Comments
 (0)