from rest_framework import serializers
from carousel.models.carousel import Carousel
from service.serializers.services_serializer import ServiceCarouselSerializer

class CarouselSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    service_info = ServiceCarouselSerializer(source='service', read_only=True)
    company_name = serializers.SerializerMethodField()

    class Meta:
        model = Carousel
        fields = ['id','title','button_name','button_url','image','service','service_info','photos_by','company_name']
        read_only_fields = ['id']

    def get_company_name(self, obj):
        if obj.service and obj.service.company:
            return obj.service.company.name
        return None