feat: updated

This commit is contained in:
2026-05-10 09:50:39 +03:00
parent 1ae330258b
commit 65c464ab67
19 changed files with 184 additions and 265 deletions

View File

@@ -14,12 +14,11 @@ class Settings(BaseSettings):
room_empty_timeout_seconds: int = Field(default=600, alias="ROOM_EMPTY_TIMEOUT_SECONDS")
max_attachment_size_mb: int = Field(default=100, alias="MAX_ATTACHMENT_SIZE_MB")
uploads_dir: str = Field(default="uploads", alias="UPLOADS_DIR")
telegram_alerting_enabled: bool = Field(default=False, alias="TELEGRAM_ALERTING_ENABLED")
telegram_bot_token: str = Field(default="", alias="TELEGRAM_BOT_TOKEN")
telegram_chat_id: str = Field(default="", alias="TELEGRAM_CHAT_ID")
telegram_topic_id: int | None = Field(default=None, alias="TELEGRAM_TOPIC_ID")
block_probe_paths: bool = Field(default=True, alias="BLOCK_PROBE_PATHS")
cors_allow_origins: str = Field(default="", alias="CORS_ALLOW_ORIGINS")
turn_urls: str = Field(default="", alias="TURN_URLS")
turn_username: str = Field(default="", alias="TURN_USERNAME")
turn_credential: str = Field(default="", alias="TURN_CREDENTIAL")
model_config = SettingsConfigDict(case_sensitive=False, extra="ignore")
@@ -31,14 +30,23 @@ class Settings(BaseSettings):
def uploads_path(self) -> Path:
return Path(self.uploads_dir)
@property
def telegram_alerting_available(self) -> bool:
return bool(self.telegram_alerting_enabled and self.telegram_bot_token.strip() and self.telegram_chat_id.strip())
@property
def cors_origins(self) -> list[str]:
raw = getattr(self, 'cors_allow_origins', '')
return [origin.strip() for origin in raw.split(',') if origin.strip()]
@property
def turn_ice_servers(self) -> list[dict[str, str | list[str]]]:
urls = [url.strip() for url in self.turn_urls.split(',') if url.strip()]
if not urls or not self.turn_username.strip() or not self.turn_credential.strip():
return []
return [
{
'urls': urls,
'username': self.turn_username.strip(),
'credential': self.turn_credential.strip(),
}
]
settings = Settings()