Skip to content

Commit a3535be

Browse files
committed
fixed endpoint to delete collab
1 parent 1d8003b commit a3535be

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

projects/views.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,12 +482,13 @@ def delete(self, request, project_pk: int) -> Response:
482482

483483
class DeleteProjectCollaborators(generics.GenericAPIView):
484484
permission_classes = [IsProjectLeader]
485-
queryset = Project.objects.all().select_related("leader")
486485

487486
def _project_data(
488-
self,
487+
self, project_pk: int
489488
) -> tuple[Annotated[int, "ID проекта"], Annotated[int, "ID лидера проекта"]]:
490-
project = self.get_object()
489+
project = get_object_or_404(
490+
Project.objects.select_related("leader"), id=project_pk
491+
)
491492
return project.id, project.leader.id
492493

493494
@staticmethod
@@ -505,7 +506,7 @@ def _collabs_queryset(
505506
def delete(self, request, project_pk: int) -> Response:
506507
requested_collabs_ids: set[int] = set(request.data)
507508

508-
project_id, leader_id = self._project_data()
509+
project_id, leader_id = self._project_data(project_pk)
509510
existing_collabs_ids: set[int] = set(
510511
self._collabs_queryset(project_id, requested_collabs_ids, leader_id)
511512
)
@@ -516,6 +517,9 @@ def delete(self, request, project_pk: int) -> Response:
516517
status=status.HTTP_422_UNPROCESSABLE_ENTITY,
517518
)
518519
if unexisting_collabs := requested_collabs_ids - existing_collabs_ids:
520+
raise ValueError(
521+
unexisting_collabs, ".", requested_collabs_ids, ".", existing_collabs_ids
522+
)
519523
return Response(
520524
{
521525
"error": f"Users with ids: {list(unexisting_collabs)} are not part of this project."

0 commit comments

Comments
 (0)