from pydantic_settings import BaseSettings class Settings(BaseSettings): # Service host: str = "0.0.0.0" port: int = 8000 debug: bool = False # Database database_url: str = "sqlite+aiosqlite:///./classhub.db" # JWT jwt_secret: str = "change-me-in-production" jwt_expiry_hours: int = 72 jwt_algorithm: str = "HS256" # Tencent COS cos_secret_id: str = "" cos_secret_key: str = "" cos_region: str = "ap-hongkong" cos_bucket: str = "" cos_base_url: str = "" # Book metadata google_books_api_key: str = "" # WeChat Mini Program wechat_mini_app_id: str = "wxfac912df4f9cdebe" wechat_mini_app_secret: str = "360f537c8ebed117b2ca32d533ff2912" wechat_api_timeout_seconds: float = 8.0 # SMTP Email smtp_host: str = "" smtp_port: int = 465 smtp_user: str = "" smtp_password: str = "" smtp_from_email: str = "" smtp_from_name: str = "HKU ICB" # Frontend URL frontend_url: str = "http://localhost:3000" # Super Admin seed super_admin_email: str = "admin@classhub.com" super_admin_password: str = "admin123" model_config = {"env_file": ".env", "env_prefix": "CH_"} settings = Settings()