44 lines
980 B
Python
44 lines
980 B
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 = ""
|
|
|
|
# SMTP Email
|
|
smtp_host: str = ""
|
|
smtp_port: int = 465
|
|
smtp_user: str = ""
|
|
smtp_password: str = ""
|
|
smtp_from_email: str = ""
|
|
smtp_from_name: str = "ClassHub"
|
|
|
|
# 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()
|