from rest_framework import serializers

from .models import Reminder, ReminderSchedule


class ReminderScheduleSerializer(serializers.ModelSerializer):
    class Meta:
        model = ReminderSchedule
        fields = ("id", "reminder", "timezone", "next_occurrence", "last_triggered_at", "created_at", "updated_at")
        read_only_fields = ("id", "created_at", "updated_at")


class ReminderSerializer(serializers.ModelSerializer):
    schedule = ReminderScheduleSerializer(read_only=True)

    class Meta:
        model = Reminder
        fields = (
            "id",
            "title",
            "category",
            "preferred_time",
            "frequency",
            "custom_days",
            "duration_minutes",
            "priority",
            "push_enabled",
            "email_enabled",
            "sms_enabled",
            "is_active",
            "schedule",
            "created_at",
            "updated_at",
        )
        read_only_fields = ("id", "created_at", "updated_at")
