from rest_framework import serializers


class PushSSEEventSerializer(serializers.Serializer):
    """
    SSE 事件推送序列化器
    
    用于验证推送到 SSE 客户端的事件数据
    """
    message = serializers.CharField(
        required=True,
        help_text="要发送的消息内容",
        max_length=10000,
        allow_blank=False,
    )
    type = serializers.CharField(
        required=False,
        default='message',
        help_text="事件类型，如：message, notification, alert 等",
        max_length=100,
    )
    
    def validate_message(self, value):
        """验证消息内容"""
        if not value or not value.strip():
            raise serializers.ValidationError("消息内容不能为空")
        return value.strip()
