from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status

from .models import Product, ContactMessage
from .serializers import ProductSerializer, ContactSerializer


# --- GET ALL PRODUCTS ---
@api_view(['GET'])
def get_products(request):
    products = Product.objects.all()
    serializer = ProductSerializer(products, many=True)
    return Response(serializer.data, status=status.HTTP_200_OK)


# --- POST CONTACT FORM ---
@api_view(['POST'])
def create_contact(request):
    serializer = ContactSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()   # DB ga saqlanadi
        return Response({"success": True}, status=status.HTTP_201_CREATED)

    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

# --- GET FAQS ---
@api_view(['GET'])
def get_faqs(request):
    from .models import FAQ
    from .serializers import FAQSerializer

    faqs = FAQ.objects.all()
    serializer = FAQSerializer(faqs, many=True)
    return Response(serializer.data, status=status.HTTP_200_OK)
