first commit

This commit is contained in:
xuyong
2026-04-15 21:35:26 +08:00
commit 7097fa6b44
69 changed files with 5642 additions and 0 deletions

45
app/config/settings.py Normal file
View File

@@ -0,0 +1,45 @@
from pydantic_settings import BaseSettings
from functools import lru_cache
class Settings(BaseSettings):
app_name: str = "SuperDream"
debug: bool = False
host: str = "0.0.0.0"
port: int = 18000
# Database
db_type: str = "mysql"
db_host: str = "10.11.0.43"
db_port: int = 3306
db_user: str = "root"
db_password: str = "for_develop_only"
db_name: str = "superdream"
# Storage
data_dir: str = "./data"
# JWT
jwt_secret: str = "superdream-secret-change-me"
jwt_algorithm: str = "HS256"
jwt_access_expire_minutes: int = 30
jwt_refresh_expire_days: int = 7
@property
def database_url(self) -> str:
return (
f"mysql+aiomysql://{self.db_user}:{self.db_password}"
f"@{self.db_host}:{self.db_port}/{self.db_name}"
)
class Config:
env_file = ".env"
env_prefix = "SD_"
@lru_cache
def get_settings() -> Settings:
return Settings()
settings = get_settings()