from rest_framework import serializers
from api.property_api.property_details.models.property_details import PropertyDetails

class PropertyDetailsSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    icon_media_path = serializers.SerializerMethodField('get_image_url')

    class Meta:
        model = PropertyDetails
        fields = [
            'id','property_id','key','value','icon_url','icon_media_path','is_active', 'created_at', 'updated_at',
            'created_by', 'updated_by'
        ]
        read_only_fields = ['id', 'created_at', 'updated_at']

    def get_image_url(self, obj):
        request = self.context.get("request")
        if obj.icon_url and hasattr(obj.icon_url, 'url'):
            return request.build_absolute_uri(obj.icon_url.url)
        return None