from rest_framework import serializers
from api.property_api.property_media.models.property_media import PropertyMedia

class PropertyMediaSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    media_url_path = serializers.SerializerMethodField('get_image_url')

    class Meta:
        model = PropertyMedia
        fields = [
            'id','property_ID','media_url','media_url_path','media_type','is_featured',
        ]
        read_only_fields = ['id']

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