first commit
This commit is contained in:
0
app/config/__init__.py
Normal file
0
app/config/__init__.py
Normal file
45
app/config/settings.py
Normal file
45
app/config/settings.py
Normal 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()
|
||||
Reference in New Issue
Block a user