from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from rest_framework.decorators import api_view
from datetime import datetime
from apps.services.external_api_service import *
from apps.settings import *
from apps.utils import *

@api_view(['GET'])
def GetRCdetails_goodapi(request):
    rc_number = request.GET.get("rc_number")
    url = "https://goodapi.in/api_services/V1/vahanServices/vehicle_rc_pdf_S1.php"
    API_KEY = GoodAPI_Key
    payload = {
        "rcno": rc_number,
        "apiKey": API_KEY
    }

    result = call_external_api(url, payload=payload)
  
    if result["status"]:
            return Response({
                "status": True,
                "data": result["data"]
            })
    else:
            return Response({
                "status": False,
                "error": result["error"]
            }, status=400) 

@api_view(['GET'])
def GetRCdetails_apizone(request):
    rc_number = request.GET.get("rc_number")
    chiptype = request.GET.get("chiptype")
    
    base_url = get_base_url("apizone")
    url = f"{base_url}/api/rc_pdf/rc.php"
    API_KEY = ApiZoneAPI_Key
    
    payload = {
        "rcno": rc_number,
        "cardtype":2,
        "chiptype":chiptype,
        "api_key": API_KEY
    }

    result = call_external_api(url, payload=payload)
  
    if result["status"]:
            return Response({
                "status": True,
                "data": result["data"]
            })
    else:
            return Response({
                "status": False,
                "error": result["error"]
            }, status=400) 






@api_view(['GET'])
def GetRCdetails_goodapi1(request):
    rc_number = request.GET.get("rc_number")
    url = "https://goodapi.in/api_services/V1/vahanServices/vehicle_rc_pdf_S1.php"
    API_KEY = GoodAPI_Key
    payload = {
        "rcno": rc_number,
        "apiKey": API_KEY,
    }
    headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "User-Agent": "Mozilla/5.0",
    "Authorization": f"Bearer {GoodAPI_Key}"
    }
  
    result = call_external_apinew(url, payload=payload, headers=headers)
    return Response({
                "status": True,
                "data": result,
                "payload":payload
    })
    if result["status"]:
            return Response({
                "status": True,
                 "result": result,
                "data": result["data"]
            })
    else:
            return Response({
                "status": False,
                "error": result["error"]
            }, status=400) 


