(self, request, *args, **kwargs)
| 446 | ) |
| 447 | @action(detail=True, methods=["POST"], url_path="add-owners") |
| 448 | def add_owners(self, request, *args, **kwargs): # type: ignore[no-untyped-def] |
| 449 | serializer = FeatureOwnerInputSerializer(data=request.data) |
| 450 | serializer.is_valid(raise_exception=True) |
| 451 | feature = self.get_object() |
| 452 | |
| 453 | for user in FFAdminUser.objects.filter( |
| 454 | id__in=serializer.validated_data["user_ids"] |
| 455 | ): |
| 456 | if not user.has_project_permission(VIEW_PROJECT, feature.project): |
| 457 | raise serializers.ValidationError("Some users not found") |
| 458 | |
| 459 | serializer.add_owners(feature) |
| 460 | return Response(self.get_serializer(instance=feature).data) |
| 461 | |
| 462 | @extend_schema( |
| 463 | request=FeatureOwnerInputSerializer, |
nothing calls this directly
no test coverage detected