Добавлена отправка накладных на почту
This commit is contained in:
@@ -121,6 +121,21 @@ class WaybillPollerConfig(BaseModel):
|
||||
batch_size: int = Field(default=50, gt=0)
|
||||
|
||||
|
||||
class EmailAdapterConfig(BaseModel):
|
||||
smtp_host: str = Field(..., min_length=1)
|
||||
smtp_port: int = Field(..., gt=0, le=65535)
|
||||
username: str = ""
|
||||
password: str = ""
|
||||
from_address: str = Field(..., min_length=1)
|
||||
use_tls: bool = True
|
||||
timeout_seconds: float = Field(default=10.0, gt=0)
|
||||
|
||||
|
||||
class WaybillEmailSenderConfig(BaseModel):
|
||||
interval_seconds: float = Field(default=30.0, gt=0)
|
||||
batch_size: int = Field(default=50, gt=0)
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(
|
||||
extra="ignore",
|
||||
@@ -138,6 +153,10 @@ class Settings(BaseSettings):
|
||||
)
|
||||
observability: ObservabilityConfig
|
||||
waybill_poller: WaybillPollerConfig = Field(default_factory=WaybillPollerConfig)
|
||||
email: EmailAdapterConfig
|
||||
waybill_email_sender: WaybillEmailSenderConfig = Field(
|
||||
default_factory=WaybillEmailSenderConfig
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def settings_customise_sources(
|
||||
@@ -169,6 +188,7 @@ class _RequiredYamlSections(BaseModel):
|
||||
postgres: dict[str, Any]
|
||||
address_suggestions: dict[str, Any]
|
||||
observability: dict[str, Any]
|
||||
email: dict[str, Any]
|
||||
|
||||
|
||||
def _resolve_runtime_config_file() -> str:
|
||||
|
||||
Reference in New Issue
Block a user