"""Settings configuration""" from pydantic_settings import BaseSettings from typing import Optional class Settings(BaseSettings): """Application settings""" PROJECT_NAME: str = "Support System" VERSION: str = "1.0.0" API_V1_STR: str = "/api" # Security SECRET_KEY: str = "your-secret-key-for-jwt" ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8 # 8 дней # Database POSTGRES_SERVER: str = "db" POSTGRES_USER: str = "postgres" POSTGRES_PASSWORD: str = "postgres" POSTGRES_DB: str = "support_db" DATABASE_URL: Optional[str] = None # Redis REDIS_HOST: str = "redis" REDIS_PORT: int = 6379 REDIS_DB: int = 0 REDIS_PASSWORD: Optional[str] = None # Telegram TELEGRAM_BOT_TOKEN: Optional[str] = None TELEGRAM_CHAT_ID: Optional[str] = None @property def get_database_url(self) -> str: """Get database URL.""" return f"postgresql://{self.POSTGRES_USER}:{self.POSTGRES_PASSWORD}@{self.POSTGRES_SERVER}/{self.POSTGRES_DB}" class Config: case_sensitive = True env_file = ".env" extra = "allow" # Разрешаем дополнительные поля settings = Settings() if not settings.DATABASE_URL: settings.DATABASE_URL = settings.get_database_url