Skip to content

Commit ead3cc4

Browse files
committed
fix: mypy type errors in message pagination endpoint
1 parent f540385 commit ead3cc4

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

apps/api/app/api/v1/chat.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ async def list_messages(
204204
cursor: str | None = Query(None, description="游标(ISO datetime),获取此之前的消息"),
205205
limit: int = Query(50, ge=1, le=100, description="返回数量"),
206206
db: AsyncSession = Depends(get_db),
207-
) -> APIResponse[MessagePaginatedResponse]:
207+
) -> APIResponse[MessagePaginatedResponse] | APIResponse[None]:
208208
"""
209209
分页获取对话消息。
210210
@@ -266,17 +266,8 @@ async def list_messages(
266266
messages = messages[:limit]
267267
next_cursor = messages[-1].created_at.isoformat()
268268

269-
# 将 Message 对象转换为 MessageResponse
270-
message_responses = [
271-
MessageResponse(
272-
id=msg.id,
273-
role=msg.role,
274-
content=msg.content,
275-
metadata=msg.extra_data,
276-
created_at=msg.created_at,
277-
)
278-
for msg in messages
279-
]
269+
# 将 Message 对象转换为 MessageResponse(from_attributes + model_validator 处理字段映射)
270+
message_responses = [MessageResponse.model_validate(msg) for msg in messages]
280271

281272
return APIResponse.ok(
282273
data=MessagePaginatedResponse(

0 commit comments

Comments
 (0)