
from rest_framework import generics
from .models import JobPost, JobApplication, Department, Country, State, City
from .serializers import JobPostSerializer, JobApplicationSerializer, DepartmentSerializer, CountrySerializer, StateSerializer, CitySerializer


class JobPostListAPIView(generics.ListAPIView):
    queryset = JobPost.objects.all()
    serializer_class = JobPostSerializer


class JobApplicationCreateAPIView(generics.CreateAPIView):
    queryset = JobApplication.objects.all()
    serializer_class = JobApplicationSerializer

# Optionally, add endpoints for dropdowns
class DepartmentListAPIView(generics.ListAPIView):
    queryset = Department.objects.all()
    serializer_class = DepartmentSerializer

class CountryListAPIView(generics.ListAPIView):
    queryset = Country.objects.all()
    serializer_class = CountrySerializer

class StateListAPIView(generics.ListAPIView):
    queryset = State.objects.all()
    serializer_class = StateSerializer

class CityListAPIView(generics.ListAPIView):

    serializer_class = CitySerializer

    def get_queryset(self):
        queryset = City.objects.all()
        state_id = self.request.query_params.get('state')
        if state_id:
            queryset = queryset.filter(state_id=state_id)
        return queryset
