[UP] v 0.1.6

This commit is contained in:
Evgeny (Krymmy) Momotov 2025-12-09 15:32:50 +03:00
parent 88dc681687
commit ef1c264149

View file

@ -24,6 +24,15 @@ class AccessResponse(BaseModel):
class Registration(BaseModel):
auth_key: str
class BasicModel(BaseModel):
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
class Config:
extra = "ignore"
from_attributes = True
class User(BaseModel):
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
@ -42,16 +51,11 @@ class User(BaseModel):
extra = "ignore"
from_attributes = True
class SIPAccount(BaseModel):
class SIPAccount(BasicModel):
"""
SIP-аккаунт.
"""
unique_id: str = Field(description="Уникальный идентификатор", example="00000000-0000-0000-0000-000000000000")
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
owner: Optional[User] = Field(description="Владелец")
name: str = Field(max_length=255, description="Название", example="SIP-аккаунт-1")
@ -102,15 +106,12 @@ class SIPAccount(BaseModel):
extra = "ignore"
from_attributes = True
class CallPrompt(BaseModel):
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
class CallPrompt(BasicModel):
owner: Optional[User] = Field(description="Владелец", default=None)
name: str = Field(max_length=255, description="Название промпта", example="Приветствие клиенту")
content: str = Field(description="Содержание промпта", example="Добро пожаловать в службу поддержки")
speak_first: bool = Field(default=True, description="Говорить первым")
can_interrupt_greeting: bool = Field(default=False, description="Может прерывать приветствие")
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
class Config:
extra = "ignore"
@ -135,8 +136,7 @@ class OpenAISettings(BaseModel):
top_p: float = Field(..., title="Top P")
class YandexFleet(BaseModel):
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
class YandexFleet(BasicModel):
owner: Optional[User] = Field(description="Владелец", default=None)
name: str = Field(max_length=255, description="Название флота", example="Флот такси")
park_id: str = Field(max_length=255, description="ID флота в Yandex", example="park-12345")
@ -146,18 +146,18 @@ class YandexFleet(BaseModel):
description="Часовой пояс",
example="Europe/Moscow"
)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
class Config:
extra = "ignore"
from_attributes = True
class Driver(BaseModel):
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
class Driver(BasicModel):
yandex_fleet: Optional[YandexFleet] = Field(description="ID или название флота Yandex", example="fleet-123", default=None)
driver_id: str = Field(max_length=64, description="ID драйвера в Yandex", example="drv-abc123")
first_name: Optional[str] = Field(description="Имя", example="John", default=None)
last_name : Optional[str] = Field(description="Фамилия", example="Doe", default=None)
middle_name: Optional[str] = Field(description="Отчество", example="Ivanovich", default=None)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
@ -166,9 +166,8 @@ class Driver(BaseModel):
from_attributes = True
class Call(BaseModel):
class Call(BasicModel):
unique_id: str = Field(description="Уникальный идентификатор", example="00000000-0000-0000-0000-000000000000")
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
owner: Optional[User] = Field(description="Владелец")
call_datetime: Optional[str] = Field(description="Время последнего звонка (по МСК)", example="2024-01-01T12:00:00")
prompt: Optional[CallPrompt] = Field(description="Промпт",)
@ -177,8 +176,6 @@ class Call(BaseModel):
data: Optional[Dict[str, Any]] = Field(description="Дополнительные данные", nullable=True)
channel_id: Optional[str] = Field(description="ID канала", example=" tweak-456", null=True)
audio_file: Optional[str] = Field(description="Путь к аудио", example="/audio/call-123.mp3", null=True)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
class Config:
extra = "ignore"
@ -200,15 +197,12 @@ class CallIn(BaseModel):
from_attributes = True
class CallDialog(BaseModel):
class CallDialog(BasicModel):
unique_id: str = Field(description="Уникальный идентификатор", example="00000000-0000-0000-0000-000000000000")
id: Optional[int] = Field(description="Идентификатор (автоматический)", default=None)
call: Optional[Call] = Field(description="ID звонка", example="call-123")
dialog: Optional[str] = Field(description="Содержание диалога", null=True)
data: Optional[Dict[str, Any]] = Field(description="Дополнительные данные", nullable=True)
call_time: int = Field(default=0, description="Время звонка (в секундах)", ge=0)
created_at: Optional[str] = Field(description="Дата создания", example="2024-01-01T12:00:00")
updated_at: Optional[str] = Field(description="Дата обновления", example="2024-01-01T12:00:00")
class Config:
extra = "ignore"