Files
more_dots/schemas/message_feedback_request.py
T
2026-03-24 18:07:22 +08:00

19 lines
687 B
Python

from typing import Literal, Optional
from pydantic import BaseModel, Field, model_validator
class MessageFeedbackRequestDTO(BaseModel):
"""消息反馈请求模型"""
message_id: str = Field(..., description="消息 ID")
feedback: Literal["like", "dislike"] = Field(..., description="反馈类型: like/dislike")
feedback_content: Optional[str] = Field(default=None, description="点踩反馈内容")
@model_validator(mode="after")
def validate_feedback_content(self):
if self.feedback == "dislike" and not (self.feedback_content or "").strip():
raise ValueError("feedback_content is required when feedback=dislike")
return self