from rest_framework import serializers
from api.property_api.agent.models.agent import Agent

class AgentPartialUpdateSerializer(serializers.ModelSerializer):
    id = serializers.ReadOnlyField()
    class Meta:
        model = Agent
        fields = [
            'id', 'name', 'contact_no', 'profile_picture', 'cover_picture', 
            'company_name', 'bio', 'specialty_and_services', 'area_of_operation', 
            'created_at', 'country', 'created_by', 'created_at', 'designation',
            'linkedin', 'facebook', 'youtube', 'whatsapp', 'agent_user','username','has_username'
        ]
        read_only_fields = ['id', 'created_by', 'created_at']

    def update(self, instance, validated_data):
        
        validated_data.pop('agent_user', None)
        if instance.agent_user:
            validated_data['agent_user'] = instance.agent_user
        return super().update(instance, validated_data)
    
# from rest_framework import serializers
# from api.property_api.agent.models.agent import Agent

# class AgentPartialUpdateSerializer(serializers.ModelSerializer):
#     id = serializers.ReadOnlyField()
#     class Meta:
#         model = Agent
#         fields = [
#             'id', 'name', 'contact_no', 'profile_picture', 'cover_picture', 
#             'company_name', 'bio', 'specialty_and_services', 'area_of_operation', 
#             'created_at', 'country', 'created_by', 'created_at', 'designation',
#             'linkedin', 'facebook', 'youtube', 'whatsapp', 'agent_user'
#         ]
#         read_only_fields = ['id', 'created_by', 'created_at']

#     def update(self, instance, validated_data):
        
#         validated_data.pop('agent_user', None)
#         if instance.agent_user:
#             validated_data['agent_user'] = instance.agent_user
#         return super().update(instance, validated_data)
