Skip to content

Commit bc74038

Browse files
authored
feat(shared-views): Use starred table for group index endpoint (#87202)
This PR updates the default query in the group index endpoint to use the first starred view's query, rather than the first groupsearchview. This also removes (I think) the last usage of the position column in the groupsearchview, which is necessary to drop the column
1 parent 352c4f8 commit bc74038

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/sentry/api/helpers/group_index/index.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from sentry.models.environment import Environment
2121
from sentry.models.group import Group, looks_like_short_id
2222
from sentry.models.groupsearchview import GroupSearchView
23+
from sentry.models.groupsearchviewstarred import GroupSearchViewStarred
2324
from sentry.models.organization import Organization
2425
from sentry.models.project import Project
2526
from sentry.models.release import Release
@@ -104,11 +105,12 @@ def build_query_params_from_request(
104105
if selected_view_id:
105106
default_view = GroupSearchView.objects.filter(id=int(selected_view_id)).first()
106107
else:
107-
default_view = GroupSearchView.objects.filter(
108+
first_starred_view = GroupSearchViewStarred.objects.filter(
108109
organization=organization,
109110
user_id=request.user.id,
110111
position=0,
111112
).first()
113+
default_view = first_starred_view.group_search_view if first_starred_view else None
112114

113115
if default_view:
114116
query_kwargs["sort_by"] = default_view.query_sort

tests/sentry/issues/endpoints/test_organization_group_index.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
from sentry.models.groupowner import GROUP_OWNER_TYPE, GroupOwner, GroupOwnerType
4141
from sentry.models.groupresolution import GroupResolution
4242
from sentry.models.groupsearchview import GroupSearchView
43+
from sentry.models.groupsearchviewstarred import GroupSearchViewStarred
4344
from sentry.models.groupseen import GroupSeen
4445
from sentry.models.groupshare import GroupShare
4546
from sentry.models.groupsnooze import GroupSnooze
@@ -2373,14 +2374,20 @@ def test_user_default_custom_view_query(self, _: MagicMock) -> None:
23732374
owner_id=self.user.id,
23742375
visibility=Visibility.OWNER_PINNED,
23752376
)
2376-
GroupSearchView.objects.create(
2377+
default_view = GroupSearchView.objects.create(
23772378
organization=self.organization,
23782379
user_id=self.user.id,
23792380
position=0,
23802381
name="Default View",
23812382
query="ZeroDivisionError",
23822383
query_sort="date",
23832384
)
2385+
GroupSearchViewStarred.objects.create(
2386+
organization=self.organization,
2387+
user_id=self.user.id,
2388+
position=0,
2389+
group_search_view=default_view,
2390+
)
23842391
event = self.store_event(
23852392
data={
23862393
"timestamp": before_now(seconds=500).isoformat(),

0 commit comments

Comments
 (0)