| """Schemas for the chat app.""" | |
| from pydantic import BaseModel, validator | |
| class ChatResponse(BaseModel): | |
| """Chat response schema.""" | |
| sender: str | |
| message: str | |
| type: str | |
| def sender_must_be_bot_or_you(cls, v): | |
| if v not in ["bot", "you"]: | |
| raise ValueError("sender must be bot or you") | |
| return v | |
| def validate_message_type(cls, v): | |
| if v not in ["start", "stream", "end", "error", "info"]: | |
| raise ValueError("type must be start, stream or end") | |
| return v | 
