def METHOD_NAME(self, request: Request, organization, request_id) -> Response:
    """
    Approve or deny a request
    Approve or deny a request.
        {method} {path}
    """
    try:
        access_request = OrganizationAccessRequest.objects.get(
            id=request_id, team__organization=organization
        )
    except OrganizationAccessRequest.DoesNotExist:
        raise ResourceDoesNotExist
    if not self._can_access(request, access_request):
        return Response(status=403)
    serializer = AccessRequestSerializer(data=request.data, partial=True)
    if not serializer.is_valid():
        return Response(serializer.errors, status=400)
    is_approved = serializer.validated_data.get("isApproved")
    if is_approved is None:
        return Response(status=400)
    if is_approved:
        try:
            with transaction.atomic(router.db_for_write(OrganizationMemberTeam)):
                omt = OrganizationMemberTeam.objects.create(
                    organizationmember=access_request.member, team=access_request.team
                )
        except IntegrityError:
            pass
        else:
            self.create_audit_entry(
                request=request,
                organization=organization,
                target_object=omt.id,
                target_user_id=access_request.member.user_id,
                event=audit_log.get_event_id("MEMBER_JOIN_TEAM"),
                data=omt.get_audit_log_data(),
            )
            access_request.send_approved_email()
    access_request.delete()
    return Response(status=204)