(
self,
extra_group_by_fields: Literal["identity_id"] | None = None,
filter_kwargs: dict[str, typing.Any] | None = None,
)
| 395 | return result |
| 396 | |
| 397 | def _get_active_feature_states_ids( |
| 398 | self, |
| 399 | extra_group_by_fields: Literal["identity_id"] | None = None, |
| 400 | filter_kwargs: dict[str, typing.Any] | None = None, |
| 401 | ) -> list[int]: |
| 402 | base_qs = FeatureState.objects.get_live_feature_states( |
| 403 | environment=self, |
| 404 | **(filter_kwargs or {}), |
| 405 | ).filter( |
| 406 | feature__is_archived=False, |
| 407 | ) |
| 408 | |
| 409 | group_fields = ["feature_id", "environment_id"] |
| 410 | if extra_group_by_fields is not None: |
| 411 | group_fields.append(extra_group_by_fields) |
| 412 | |
| 413 | return list( |
| 414 | base_qs.values(*group_fields) |
| 415 | .annotate(id=Max("id")) |
| 416 | .values_list("id", flat=True) |
| 417 | ) |
| 418 | |
| 419 | def get_features_metrics_queryset(self) -> QuerySet[FeatureState]: |
| 420 | ids = self._get_active_feature_states_ids( |
no test coverage detected