# scholar.views.py

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
import requests
from .serializers import ScholarResultSerializer

class ScholarAPIView(APIView):
    def post(self, request, *args, **kwargs):
        url = "https://google.serper.dev/scholar"
        payload = request.data  # Utiliser les données de la requête POST
        headers = {
            'X-API-KEY': 'ccc5b7632da9962c1ddbefb107ac44669ad35223',
            'Content-Type': 'application/json'
        }

        response = requests.post(url, headers=headers, json=payload)

        if response.status_code == 200:
            serializer = ScholarResultSerializer(data=response.json())
            if serializer.is_valid():
                return Response(serializer.data, status=status.HTTP_200_OK)
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        else:
            return Response({'error': 'Une erreur s\'est produite lors de la requête à l\'API Scholar'}, status=response.status_code)
