from rest_framework import serializers

from core.models import OnlineMeeting, UserCourse, Course


class OnlineMeetingSerializer(serializers.ModelSerializer):
    class Meta:
        model = OnlineMeeting
        fields = ['id', 'client', 'topic', 'meeting_url', 'meeting_id', 'passcode',
                  'start_time', 'duration', 'details', 'is_active']

class OnlineMeetingInstructorSerializer(serializers.ModelSerializer):
    course_title = serializers.SerializerMethodField()
    section = serializers.SerializerMethodField()
    instructor = serializers.SerializerMethodField()

    class Meta:
        model = OnlineMeeting
        fields = ['id', 'client', 'topic', 'meeting_url', 'start_time', 'duration', 'is_active', 'course_title', 'section', 'instructor'] 

    def get_course_title(self, obj):
        return obj.usercourse.course.title if obj.usercourse and obj.usercourse.course else None

    def get_section(self, obj):
        return obj.usercourse.name if obj.usercourse else None

    def get_instructor(self, obj):
        return obj.usercourse.instructor.name
