(self, request, *args, **kwargs)
| 465 | ) |
| 466 | @action(detail=True, methods=["POST"], url_path="remove-owners") |
| 467 | def remove_owners(self, request, *args, **kwargs): # type: ignore[no-untyped-def] |
| 468 | serializer = FeatureOwnerInputSerializer(data=request.data) |
| 469 | serializer.is_valid(raise_exception=True) |
| 470 | |
| 471 | feature = self.get_object() |
| 472 | self._validate_owner_removal( |
| 473 | feature, |
| 474 | owners_to_remove=len(serializer.validated_data["user_ids"]), |
| 475 | group_owners_to_remove=0, |
| 476 | ) |
| 477 | serializer.remove_users(feature) |
| 478 | |
| 479 | return Response(self.get_serializer(instance=feature).data) |
| 480 | |
| 481 | def _validate_owner_removal( |
| 482 | self, |
nothing calls this directly
no test coverage detected