Исходный код tbank.mails.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 MailModel(BaseModel): """Базовая модель домена: snake_case в Python, camelCase на проводе.""" model_config = ConfigDict( alias_generator=to_camel, populate_by_name=True, extra="ignore", )
[документация] class IncomingMailRequest(MailModel): """Входящее письмо (H2H). Требуется `text` либо `files`.""" external_id: str theme_code: str theme: str created_at: datetime text: Optional[str] = None files: Optional[List[str]] = None
[документация] class IncomingMailResult(MailModel): id: str
[документация] class MarkReadRequest(MailModel): messages_ids: List[str]
[документация] class MailMessage(MailModel): id: str mail_id: str is_from_bank: bool is_unread: bool created_at: datetime text: Optional[str] = None files: Optional[List[str]] = None
[документация] class Mail(MailModel): """Письмо со списком сообщений.""" id: str number: int company_id: str is_from_bank: bool theme: str theme_code: str status: str updated_at: datetime messages: List[MailMessage] = Field(default_factory=list) external_id: Optional[str] = None