from rest_framework import serializers
from .models import Country, State, City, Education, NoticePeriod, AnnualCTC, Language


class EducationSerializer(serializers.ModelSerializer):
    class Meta:
        model = Education
        fields = ["id", "name", "is_active", "sort_order", "created_at"]
        read_only_fields = ["id", "created_at"]


class NoticePeriodSerializer(serializers.ModelSerializer):
    class Meta:
        model = NoticePeriod
        fields = ["id", "value", "label", "is_active", "sort_order"]


class AnnualCTCSerializer(serializers.ModelSerializer):
    class Meta:
        model = AnnualCTC
        fields = ["id", "value", "label", "is_active", "sort_order"]


class LanguageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Language
        fields = ["id", "name", "is_active", "sort_order"]



class CountrySerializer(serializers.ModelSerializer):
    class Meta:
        model = Country
        fields = [
            "id",
            "name",
            "iso2",
            "status",
            "phone_code",
            "iso3",
            "region",
            "subregion",
        ]


class StateSerializer(serializers.ModelSerializer):
    country_name = serializers.CharField(source="country.name", read_only=True)

    class Meta:
        model = State
        fields = [
            "id",
            "name",
            "country_code",
            "country_id",
            "country_name",
        ]


class CitySerializer(serializers.ModelSerializer):
    state_name = serializers.CharField(source="state.name", read_only=True)
    country_name = serializers.CharField(source="country.name", read_only=True)

    class Meta:
        model = City
        fields = [
            "id",
            "name",
            "country_code",
            "country_id",
            "country_name",
            "state_id",
            "state_name",
        ]
