Files
webprewviewapi/prompt/schemas.py
2026-03-04 20:05:33 +08:00

38 lines
847 B
Python

from typing import Optional
from uuid import UUID
from ninja import Schema
class MessageOut(Schema):
id: int
role: str
content: str
code_html: Optional[str] = None
code_css: Optional[str] = None
code_js: Optional[str] = None
created: str
class ConversationOut(Schema):
id: UUID
user_id: int
username: str
task_id: int
task_title: str
is_active: bool
message_count: int
created: str
@staticmethod
def from_conv(conv):
return {
"id": conv.id,
"user_id": conv.user_id,
"username": conv.user.username,
"task_id": conv.task_id,
"task_title": conv.task.title,
"is_active": conv.is_active,
"message_count": conv.messages.count(),
"created": conv.created.isoformat(),
}