52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
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()
|