from rest_framework import serializers
from checkpoint.models import FacilityType, CheckPoint


class FacilityTypeSerializer(serializers.ModelSerializer):
    class Meta:
        model = FacilityType
        fields = ("id", "name", "description", "created_at", "updated_at")
        read_only_fields = ("id", "created_at", "updated_at")


class CheckPointSerializer(serializers.ModelSerializer):
    facility = FacilityTypeSerializer(source="facility_type", read_only=True)
    facility_type = serializers.PrimaryKeyRelatedField(
        queryset=FacilityType.objects.all(),
        required=False,
        allow_null=True,
        write_only=True,
    )

    class Meta:
        model = CheckPoint
        fields = (
            "id",
            "name",
            "location",
            "is_active",
            "facility",
            "facility_type",
            "created_at",
            "updated_at",
        )
        read_only_fields = ("id", "created_at", "updated_at")
