Исходный код tbank.overnight.models

from __future__ import annotations

from datetime import datetime
from typing import Optional

from pydantic import BaseModel, ConfigDict
from pydantic.alias_generators import to_camel

from tbank.overnight.enums import AutoPayType


[документация] class OvernightModel(BaseModel): """Базовая модель домена: snake_case в Python, camelCase на проводе.""" model_config = ConfigDict( alias_generator=to_camel, populate_by_name=True, extra="ignore", )
[документация] class OvernightAutoPay(OvernightModel): """Настройки автоматического размещения средств.""" is_accessible: bool is_active: bool type: Optional[AutoPayType] = None
[документация] class OvernightDeal(OvernightModel): """Информация по текущей сделке овернайт (суммы — строки).""" opened: datetime closed: datetime percent_rate: Optional[str] = None amount: Optional[str] = None paid_amount: Optional[str] = None
[документация] class OvernightSettings(OvernightModel): """Настройки счёта овернайт (суммы — строки).""" min_amount: str max_amount: str current_amount: Optional[str] = None overnight_amount: Optional[str] = None
[документация] class OvernightInfo(OvernightModel): """Сводка по счёту овернайт (суммы — строки, как их отдаёт T-API).""" agreement_number: str amount: str blocked_amount: str is_accessible: bool is_deal_active: bool auto_pay: OvernightAutoPay actual_deal: OvernightDeal settings: OvernightSettings percent_rate: Optional[str] = None linked_agreement_number: Optional[str] = None