Skip to content

Commit

Permalink
ref: allow SnubaParams.teams to take a QuerySet
Browse files Browse the repository at this point in the history
  • Loading branch information
asottile-sentry committed Jul 29, 2024
1 parent 477d4ec commit 2894e6e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/sentry/search/events/builder/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ def _dataclass_params(
teams = (
Team.objects.filter(id__in=params["team_id"])
if "team_id" in params and isinstance(params["team_id"], list)
else None
else []
)
return SnubaParams(
start=cast(datetime, params.get("start")),
Expand Down
14 changes: 7 additions & 7 deletions src/sentry/search/events/types.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from collections import namedtuple
from collections.abc import Mapping, Sequence
from collections.abc import Iterable, Mapping, Sequence
from copy import deepcopy
from dataclasses import dataclass, field
from datetime import datetime, timezone
Expand Down Expand Up @@ -82,7 +82,7 @@ class SnubaParams:
environments: Sequence[Environment | None] = field(default_factory=list)
projects: Sequence[Project] = field(default_factory=list)
user: RpcUser | None = None
teams: Sequence[Team] = field(default_factory=list)
teams: Iterable[Team] = field(default_factory=list)
organization: Organization | None = None

def __post_init__(self) -> None:
Expand All @@ -106,27 +106,27 @@ def parse_stats_period(self) -> None:
self.start = get_datetime_from_stats_period(self.stats_period, self.end)

@property
def environment_names(self) -> Sequence[str]:
def environment_names(self) -> list[str]:
return (
[env.name if env is not None else "" for env in self.environments]
if self.environments
else []
)

@property
def project_ids(self) -> Sequence[int]:
def project_ids(self) -> list[int]:
return sorted([proj.id for proj in self.projects])

@property
def project_slug_map(self) -> Mapping[str, int]:
def project_slug_map(self) -> dict[str, int]:
return {proj.slug: proj.id for proj in self.projects}

@property
def project_id_map(self) -> Mapping[int, str]:
def project_id_map(self) -> dict[int, str]:
return {proj.id: proj.slug for proj in self.projects}

@property
def team_ids(self) -> Sequence[int]:
def team_ids(self) -> list[int]:
return [team.id for team in self.teams]

@property
Expand Down

0 comments on commit 2894e6e

Please sign in to comment.