"""Application configuration via Pydantic Settings.""" from pydantic_settings import BaseSettings from functools import lru_cache class Settings(BaseSettings): """Settings loaded from environment variables.""" # Database database_url: str = "sqlite+aiosqlite:///./test.db" # Redis redis_url: str = "redis://localhost:6379/0" # Rentman rentman_api_token: str = "" # JWT jwt_secret: str = "change-me-in-production" jwt_algorithm: str = "HS256" jwt_expire_hours: int = 24 # SMTP smtp_host: str = "" smtp_port: int = 587 smtp_user: str = "" smtp_password: str = "" smtp_from: str = "info@hms-licht-ton.de" # CORS cors_origins: str = "https://hms.media-on.de,http://localhost:3000" # Admin seed admin_username: str = "admin" admin_password: str = "change_me_in_production" model_config = {"env_file": ".env", "extra": "ignore"} @lru_cache def get_settings() -> Settings: """Return cached settings instance.""" return Settings()