
from rest_framework import viewsets
from rest_framework.response import Response
from rest_framework.decorators import action
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import status
from .. import models, serializers

class OperadorViewSet(viewsets.ModelViewSet):
    queryset = models.Operador.objects.all()
    serializer_class = serializers.OperadorSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ['id_region', 'nombre_operador', 'vigente']

    def create(self, request, *args, **kwargs):
            # Comprueba si 'id_operador' está presente en la petición y no está vacío
            id_operador = request.data.get('id_operador')
            if not id_operador:
                # Si 'id_operador' no está presente o está vacío, retorna un error 400
                return Response(
                    {"error": "No se puede crear el operador: 'id_operador' no proporcionado."},
                    status=status.HTTP_400_BAD_REQUEST
                )
            
            # Si 'id_operador' está presente, procede con la creación normal
            return super().create(request, *args, **kwargs)