11from __future__ import annotations
22
3- from collections .abc import Iterable , Mapping , Sequence
3+ from collections .abc import Iterable
44from typing import TYPE_CHECKING , ClassVar
55
66from django .conf import settings
@@ -201,9 +201,9 @@ def get_participants(self, group: Group) -> ParticipantMap:
201201 if user .id not in providers_by_recipient :
202202 continue
203203
204- subscription_option = subscriptions_by_user_id .get (user .id , {} )
204+ subscription_option = subscriptions_by_user_id .get (user .id )
205205 if not subscription_option and has_team_workflow :
206- subscription_option = subscriptions_by_team_id .get (user .id , {} )
206+ subscription_option = subscriptions_by_team_id .get (user .id )
207207
208208 for provider_str , val in providers_by_recipient [user .id ].items ():
209209 value = NotificationSettingsOptionEnum (val )
@@ -237,7 +237,7 @@ def get_possible_team_actors(self, group: Group) -> list[Actor]:
237237
238238 def get_subscriptions_by_team_id (
239239 self , group : Group , possible_team_actors : list [Actor ]
240- ) -> Mapping [int , int ]:
240+ ) -> dict [int , GroupSubscription ]:
241241 active_and_disabled_team_subscriptions = self .filter (
242242 group = group , team_id__in = [t .id for t in possible_team_actors ]
243243 )
@@ -247,24 +247,28 @@ def get_subscriptions_by_team_id(
247247 }
248248
249249 @staticmethod
250- def get_participating_user_ids (group : Group ) -> Sequence [int ]:
250+ def get_participating_user_ids (group : Group ) -> list [int ]:
251251 """Return the list of user ids participating in this issue."""
252252
253- return list (
254- GroupSubscription .objects .filter (group = group , is_active = True , team = None ).values_list (
255- "user_id" , flat = True
256- )
257- )
253+ return [
254+ user_id
255+ for user_id in GroupSubscription .objects .filter (
256+ group = group , is_active = True , team = None
257+ ).values_list ("user_id" , flat = True )
258+ if user_id is not None
259+ ]
258260
259261 @staticmethod
260- def get_participating_team_ids (group : Group ) -> Sequence [int ]:
262+ def get_participating_team_ids (group : Group ) -> list [int ]:
261263 """Return the list of team ids participating in this issue."""
262264
263- return list (
264- GroupSubscription .objects .filter (group = group , is_active = True , user_id = None ).values_list (
265- "team_id" , flat = True
266- )
267- )
265+ return [
266+ team_id
267+ for team_id in GroupSubscription .objects .filter (
268+ group = group , is_active = True , user_id = None
269+ ).values_list ("team_id" , flat = True )
270+ if team_id is not None
271+ ]
268272
269273
270274@region_silo_model
0 commit comments