from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from customer_api.models import Customers


@api_view(['POST'])
def deactivate_account(request):
    if request.method == 'POST':
        try:
            if 'customer_id' in request.data:
                customer = Customers.objects.get(pk=request.data['customer_id'])
            elif 'qr_code' in request.data:
                customer = Customers.objects.get(qr_code=request.data['qr_code'])
            else:
                return Response({"message": "Invalid request."}, status=status.HTTP_400_BAD_REQUEST)
            customer.is_active = False
            customer.save()
            return Response({"message": "Account deactivated successfully."}, status=status.HTTP_200_OK)
        except Customers.DoesNotExist:
            return Response({"message": "Customer not found."}, status=status.HTTP_404_NOT_FOUND)

    return Response({"message": "Invalid request."}, status=status.HTTP_400_BAD_REQUEST)