init
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user