import json
from urllib.parse import urlencode

from django.core.cache import cache
from django.core.serializers import serialize
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt
from rest_framework.response import Response

from accounts.models import Customers
from customer_api.serializers.CustomerSerializer import CustomerSerializer


@csrf_exempt
def initial_scan(request, qr_code):
    # cache_key = f'customer_{qr_code}'
    # cached_customer = cache.get(cache_key)
    #
    # if cached_customer:
    #     return JsonResponse(cached_customer, safe=False)

    try:
        qr_scan = Customers.objects.get(qr_code=qr_code)
        serializer = CustomerSerializer(qr_scan, context={'request': request})
        customer_data = serializer.data
        # print(customer_data)
        # cache.set(cache_key, customer_data, timeout=600)  # Cache for 10 minutes
        return JsonResponse(customer_data, safe=False)
    except Customers.DoesNotExist:
        return JsonResponse({"error": "Customer not found"}, status=404)

