Исходный код tbank.shopping.models
from __future__ import annotations
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
[документация]
class Chat(ShoppingModel):
chat_id: str
created_at: datetime
description: Optional[str] = None
[документация]
class ChatList(ShoppingModel):
chats: List[Chat] = Field(default_factory=list)
[документация]
class MessageFile(ShoppingModel):
id: str
name: str
size: int
mime_type: str
[документация]
class ChatMessage(ShoppingModel):
message_id: str
author: MessageAuthor
created_at: datetime
message: Optional[str] = None
files: Optional[List[MessageFile]] = None
[документация]
class MessageList(ShoppingModel):
messages: List[ChatMessage] = Field(default_factory=list)
[документация]
class SendMessageRequest(ShoppingModel):
"""Сообщение в чат. Требуется `text` либо `file_id`. `partner_message_id` —
ключ идемпотентности на стороне партнёра."""
partner_message_id: str
text: Optional[str] = None
file_id: Optional[str] = None
[документация]
class SendMessageResult(ShoppingModel):
message_id: str
partner_message_id: str
[документация]
class ChatFileUploadResult(ShoppingModel):
file_id: str